声明创建一个数组对象:var arr = new Array();
或者 var arr = [];
1、cancat()
连接两个或者多个数组,并且返回该数组,语法:array.concat(object,object,......);
let arr = [{index:'0'},{name:'xxx'}];
let arr_1 = [{index:'3'},{index:'4'}];
let newArr = arr.concat(arr_1);
console.log(JSON.stringify(newArr)); // [{"index":"0"},{"name":"xxx"},{"index":"3"},{"index":"4"}]
2、join()
通过指定字符(参数)对数据进行分割,返回字符串,参数省略的话则用默认用逗号为分隔符
let arr = ['1','2','3'];
let str = arr.join('-');
console.log(str); // 1-2-3
3、pop()
删除数组的最后一个对象,返回该删除元素的值
let arr = [{index:'0'},{name:'xxx'}];
let pop_data = arr.pop();
console.log(JSON.stringify(pop_data)); // {"name":"xxx"}
console.log(JSON.stringify(arr)); // [{"index":"0"}]
4、push()
向数组末尾添加一个或者多个对象,语法:array.push(newObject1,newObject2,.....);
let arr = new Array();
let obj_1 = { index:'1', name:'aaa'};
let obj_2 = { index:'2', name:'bbb'};
arr.push(obj_1,obj_2);
console.log(JSON.stringify(arr)); // [{"index":"1","name":"aaa"},{"index":"2","name":"bbb"}]
5、shift()
删除数组的第一个对象,并返回删除的元素
let arr = [{index:'0'},{name:'aaa'}];
let shift_data = arr.shift();
console.log(JSON.stringify(shift_data)); // {"index":"0"}
console.log(JSON.stringify(arr)); // [{"name":"aaa"}]
6、unshift()
向数组开头添加一个或者多个元素,并返回新的长度
let arr = [{index:'1'},{name:'aaa'}];
let obj_1 = {index:'2'};
let obj_2 = {index:'3'};
let length = arr.unshift(obj_1,obj_2);
console.log(length); // 4
console.log(JSON.stringify(arr)); // [{"index":"2"},{"index":"3"},{"index":"1"},{"name":"aaa"}]
7、slice()
从已知数组中返回指定选中的数据(不包括end 对应的元素),如果省略 end 将复制 start 之后的所有元素,该操作不会修改原数组的数据,slice(start,end);
let arr = ['1','2','3','4','5'];
let new_array = arr.slice(1,arr.length);
console.log(JSON.stringify(new_array)); //["2","3","4","5"]
console.log(JSON.stringify(arr));//["1","2","3","4","5"]
8、splice()
向数组中删除/添加对象,并返回被删除的元素
splice(index,count,item1,item2,......);
- index:规定删除/添加项目的起始位置,使用负数从数组的结尾处规定位置。
- count:规定要删除项目的数量
- item1,item2...:向项目中添加添加新的对象
let arr = ['1','2','3'];
let new_array = arr.splice(0,2,'4','5');
console.log(JSON.stringify(new_array));//["1","2"]
console.log(JSON.stringify(arr)); //["4","5","3"]
9、sort()
方法用户对数组的排序,sort(sortby)
,sortby可选,必须是函数。如调用方法没有使用参数,则按字母顺序进行排序。
let arr = [{index:'100'},{index:'200'},{index:'50'},{index:'10'}];
let new_array = arr.sort(function(a,b) {
let n1 = Number(a.index);
let n2 = Number(b.index);
return n1 - n2;
});
console.log(JSON.stringify(new_array)); // [{"index":"10"},{"index":"50"},{"index":"100"},{"index":"200"}]
10、some()
只要有一个满足的就返回true,没有满足的返回false
let arr = [1,2,3];
let arr_some = arr.some(function(item,index,array){
return item>1;
})
console.log(arr_some); // true
11、every()
验证数组中是否每个元素都满足指定的条件
let arr = [1,2,3];
let arr_every = arr.every(function(item,index,array){
return item>1;
})
console.log(arr_every); // false
12、forEach()
没有返回值,可以不知道数组长度
arr.forEach(function(res,index){ })
13、map()
返回值组成新数组,原数组不变
let newarr=[1,2,3].map(function(res,index){
return res+1;
});
console.log(newarr); // [2,3,4]
13、filter()
过滤通过条件的元素组成一个新数组,原数组不变
let newarr=[1,2,3,4].filter(function(res){
return res > 2
});
console.log(newarr); // [3,4]
14、find()
查找出第一个符合条件的数组成员,并返回该成员,如果没有找到就返回undefine
let arr = [{index: 20},{index: 40},{index: 60}]
let res = arr.find((val,index,arr)=>{
return val.index > 30
})
console.log(res) // {index: 40}
15、findIndex()
找到的是位置,找不到返回 -1
let arr = [{index: 20},{index: 40},{index: 60}]
let res = arr.findIndex((val,index,arr)=>{
return val.index > 30
})
console.log(res) // 1
16、fill()
填充,arr.fill(填充的东西,start,end)
包括end
let arr = new Array(4)
arr.fill('默认值')
console.log(arr) // ['默认值','默认值','默认值','默认值']
arr.fill('默认值',1,2)
console.log(arr) // [empty,'默认值','默认值',empty]