1.数组末尾追加 push
let arr = [12,34,26];
arr.push(100); //返回一个新的长度
arr.length=4
console.log(arr)//结果为 [12,34,26,100]
2.数组末尾删除 pop
let arr = [108,112,39,10];
arr.pop();//删除的最后一项为10
console.log(arr);//[108, 112, 39]
3.数组截取 slice
//两个参数
slice(参数1,参数2);
参数1:从何处开始选取(截取数组单元起始位置的索引下标)
参数2:从何处结束选取(截取数组单元结束位置的索引下标)
let arr = [1,2,3,4,5,6,7,8,9];
let newArr = arr.slice(2,4) 新数组data结果为: [3, 4]
前包后不包
//一个参数时
let arr = [1,2,3,4,5,6,7,8,9];
let newArr = arr.slice(2) 新数组data结果为: [3,4,5,6,7,8,9]
4.数组增删改 splice
//增加
arr.splice(n,0,m)从索引n开始删除0项,把m或者更多的内容插入到索引n的前面
let arr = [33,44,55,66,77,88];
arr.splice(2,0,'a','b')
console.log(arr);// [33, 44, "a", "b", 55, 66, 77, 88]
//修改
arr.splice(n,x,m)从索引n开始删除x个,m替换删除的部分
把原有内容删除掉,然后用新内容替换掉
let arr = [33,44,55,66,77,88];
arr.splice(1,2,'x','y')
let newArr = arr.splice(1,2,'x','y')
console.log(arr);// [33, "x", "y", 66, 77, 88]
console.log(newArr) // ['44','55'] 返回值为被删除的字符串
5.数组转为字符串 join()
用指定的分隔符将数组每一项拼接为字符串
参数:指定的分隔符(如果省略该参数,则使用逗号作为分隔符)
返回值:拼接好的字符串
是否改变原数组:不改变
let arr = [1,2,3];
console.log(arr.join(','));// 1,2,3
console.log(arr.toString());// 1,2,3
6. 查找出现的位置 indexOf ()
检测当前值在数组中第一次出现的位置索引
参数:array.indexOf(item,start) item:查找的元素 start:字符串中开始检索的位置
返回值:第一次查到的索引,未找到返回-1
是否改变原数组:不改变
let arr = ['a','b','c','d','e','a','f'];
console.log(arr.indexOf('c'));//2
console.log(arr.indexOf('a',3))//5
console.log(arr.indexOf('g'))// -1
7. 排序 sort()
对数组的元素进行排序(默认是从小到大来排序 并且是根据字符串来排序的)
参数:可选(函数) 规定排序规则 默认排序顺序为按字母升序
返回值:排序后新数组
是否改变原数组:改变
let arr = [32,44,23,54,90,12,9];
arr.sort(function(a,b){
// return a-b; // 结果[9, 12, 23, 32, 44, 54, 90] 从小到大
// return b-a; // 结果[90, 54, 44, 32, 23, 12, 9] 从大到小
})
console.log(arr);
var arr = [
{name:'syy', age:0},
{name:'wxy', age:18},
{name:'slj', age:8},
{name:'wj', age:20}
];
function compare(property) {
return function(a,b){
var value1 = a[property];
var value2 = b[property];
return value1 - value2;
}
}
console.log(arr.sort(compare('age')))
8. 倒叙 reverse()
把数组倒过来排列
参数:无
返回值:倒序后新数组
是否改变原数组:改变
let arr = [6,8,10,12];
console.log(arr.reverse());//[12, 10, 8, 6]
9. 判断是否为数组
let arr = []
let obj = {}
console.log(arr instanceof Array); //true
console.log(obj instanceof Array); //false
console.log(Array.isArray(arr)); //true
console.log(Array.isArray(obj)); //false
10. 函数累加器
const array1 = [1, 2, 3, 4];
// 0 + 1 + 2 + 3 + 4
const initialValue = 0;
constsumWithInitial = array1.reduce(
(previousValue, currentValue) => previousValue + currentValue,
initialValue
);
console.log(sumWithInitial);
//https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce#%E5%B0%9D%E8%AF%95%E4%B8%80%E4%B8%8B