let arr= [1,2,3]
1 shift:删除数组的第一项并返回
1 现在arr[2,3]
2 pop:方法删除数组的最后一项,并返回
返回3 现在的数组就是arr[1,2]
3 push:往数组最后的位置追加元素,并返回新数组的长度
arr.push(4, 6, 'b'); 现在arr[1,2,3,4,6,'b'] 6
4 splice:删除或者替换 三个属性(第几个 改几个 改成啥)
arr.splice(2, 1, 'aaa') 现在[1, 2, 'aaa']
5 unshift:往数组最前面追加,并返回新数组的长度
arr.unshift('a', 'b', 'c') 现在 ['a', 'b', 'c', 1, 2, 3] 6
6 concat:连接成为新数组 他会组合在一起
let a = ['a', 'b', 'c'];
let b = [11, 22, 33];
arr.concat(a, b, 'aa', 'bb', 'cc')
结果 (12)[1, 2, 3, 'a', 'b', 'c', 11, 22, 33, 'aa', 'bb', 'cc']
7 reverse:翻转数组顺序 简单明了[3,2,1]
8 join:用于把数组的每个元素拼接成为字符串 括号可写符号
9 indexOf:查找在数组中首次出现的索引位置,如果找到就会返回首次出现的位置,找不到就会 返回-1
10 sort:用于排序
正序排列:
let re = arr.sort( function (a, b) { return a - b; } );
倒序排列
let re = arr.sort( function (a, b) { return b - a; } );
数组的遍历方法 除了for循环 还可以forEash
arr.forEach( function (item, index, o) {
// 第一个参数:代表数组的每个元素,当前元素
// 第二个参数:代表数组的每隔元素的索引值,当前项的索引值
// 第三个参数:代表当前数组本身
console.log( item, index, o )
11.find
11.1
let arr=[{name:'zhangsan',age:23},{name:'lisi',age:24},{name:'wangwu',age:25}]
arr.find(function(item, index, o){
// console.log(item);
// console.log(index);
// console.log(o);
}) 这三个值同上述10条
11.2
let arr=[{ "id": 2,name:'zhangsan',age:23},{ "id": 3,name:'lisi',age:24},{ "id": 4,name:'wangwu',age:25}]
let a=arr.find(item=>item.id>3 这里也可以item=>item.name=='zhangsan'
)
console.log(a);
他这里只会返回最近一个
12 map
map
不修改调用它的原数组本身,还会得到一个新的数组
其一操作数组得到新数组
let arr=[1,4,5,8]
let newarr=arr.map(x=>x*2)
console.log(newarr);
var numbers = [1, 4, 9];
var roots = numbers.map(Math.sqrt);
// roots的值为[1, 2, 3], numbers的值仍为[1, 4, 9]
再其
使用map重新格式化数组的对象
他可以使用一个包含对象的数组来重新创建一个格式化后的数组
let Array = [{key: 1, value: 10},
{key: 2, value: 20},
{key: 3, value: 30}];
let newArray = Array.map(function(obj) {
var rObj = {};
rObj[obj.key] = obj.value;
return rObj;
});
console.log(newArray);
再其
map含undefined的数组
let arry = [1, 2, 3, 4];
var newarray = arry.map(function(num, index) {
if(index < 3) {
return num;
}
});
newarray is [1, 2, 3, undefined]