[关闭]
@hotjp 2017-01-24T15:04:10.000000Z 字数 1618 阅读 1183

Array

培训


javascript 数组操作

数组拼接字符串

  1. Array.join([','])

已有数组返回选定的一个元素

  1. Array.slice(start[,end]) //不影响原数组

删除元素,并向数组添加新元素

可以删除index后的N个元素(可为0),并追加任意元素。
即可以根据索引删除或添加数组元素
  1. Array.splice(index,N[,item1,.....,itemX]) //改变原数组

连接(拼接)数组

  1. Array.concat(Array1[,Array2,ArrayN]) //不改变原数组

快速复制数组(hack)

  1. Array.concat()

排序数组(改变原数组)

  1. Array.sort([sortby]) // sortby:排序方式,默认字母顺序排序a-z、0-9

排序数字数组

  1. Array.sort(function(a,b){return a - b}) //小到大
  1. Array.sort(function(a,b){return b - a}) //大到小

逆转数组顺序

  1. Array.reverse() //改变原数组并返回数组

数组追加元素

  1. Array.push(1[,2,3]) //改变原数组并返回length

删除数组最后一个元素

  1. Array.pop() //改变原数组并返回最后一个元素
  2. [1,2,3,4,5].pop() //return 5

删除数组第一个元素

  1. Array.shift() //改变原数组并返回第一个元素

数组开头添加元素

  1. Array.unshift(1[,2,3]) //改变原数组并返回length

数组转为字符串

  1. Array.toString() //返回去左右中括号结果,对象变成'[object Object]'

indexOf
image_1b28d6covsbjq1nlh91gt41fsu9.png-34.3kB

  1. Array.prototype.indexOf = Array.prototype.indexOf || function(item) {//扩展数组原型
  2. for (var i = 0, j = this.length; i < j; i++) {
  3. if (this[i] === item) {
  4. return i;
  5. }
  6. }
  7. return -1;
  8. }
  9. //[1,2,3,4,5].indexOf("1")
  10. //return 0
  11. //[1,2,3,4,5].indexOf("6")
  12. //return -1

数组去重(打乱顺序,按字母排序找出重复,在原数组删除)

  1. Array.prototype.distinct = function(){ //扩展数组原型链
  2. var self = this;
  3. var _a = this.concat().sort();
  4. _a.sort(function(a,b){
  5. if(a == b){
  6. var n = self.indexOf(a);
  7. self.splice(n,1);
  8. }
  9. });
  10. return self;
  11. };

判断是否数组

value 是数组返回 true 不是返回false,伪数组不会通过检测

  1. value instanceof Array;

清空数组

清空数组不能使用 delete 关键字,应

  1. var arr = [0,1,2,3,4];
  2. arr.length = 0;
  3. console.log(arr);

伪数组

定义

证明定义

  1. function make(){return arguments;}
  2. var fakeArr = make(1,2,3,4,5)
  3. var arr = [1,2,3,4,5]
  4. fakeArr.push("6")
  5. arr.push("6")

转换为数组

  1. Array.prototype.slice.call({
  2. 0:"likeke",
  3. 1:12,
  4. 2:true,
  5. length:3
  6. });
  7. //["likeke", 12, true]

资料参考:
w3school JavaScript Array对象

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注