JavaScript数组方法

159 阅读3分钟

JavaScript数组方法

改变原数组

1. push()

在数组最后面添加值

let arr = [1,2,3];
arr.push(4);
console.log(arr);   // [1,2,3,4]

2. pop()

删除数组最后面的值

let arr = [1,2,3];
arr.pop();
console.log(arr);   // [1,2]

3. shift()

删除数组首个的值

let arr = [1,2,3];
arr.shift();
console.log(arr);   // [2,3]

4. unshift()

数组前面添加值

let arr = [1,2,3];
arr.unshift(0);
console.log(arr);   // [0, 1, 2, 3]

5. sort()

数组排序

  • 升序
let arr = [1,2,3];
arr.sort((a,b)=> a-b);
console.log(arr);  // [1, 2, 3]
  • 降序
let arr = [1,2,3];
arr.sort((a,b)=> b-a);
console.log(arr);  // [3, 2, 1]

6. splice()

截取数组

let arr = [1,2,3];
let citrus = arr.splice(1,2);
console.log(arr);  // [1]
console.log(citrus);  // [2, 3]

7. reverse()

翻转数组

let arr = [1,2,3];
arr.reverse();
console.log(arr);  // [3, 2, 1]

8. fill()

数组填充

let arr = [1,2,3];
arr.fill(0);
console.log(arr);  // [0, 0, 0]

不改变原数组

1. join()

数组转字符串

let arr = [1,2,3];
let citrus = arr.join();
console.log(arr);  // [1, 2, 3]
console.log(citrus);  // '1,2,3'

2. concat()

数组合并

let arr = [1,2,3];
let citrus = arr.concat([4,5,6]);
console.log(arr);  // [1, 2, 3]
console.log(citrus);  // [1, 2, 3, 4, 5, 6]

3. slice()

选取数组

let arr = [1,2,3];
let citrus = arr.slice(1,2);  // 开始下标值为1,结束下标值为2(不包含结束下标值)
console.log(arr);  // [1, 2, 3]
console.log(citrus);  // [2]

4. indexOf()

数组首个值开始查找某个值(返回下标值)

let arr = [1,2,3];
let citrus = arr.indexOf(2);  // 数组首个位置开始查找,有这个值则返回改值的下标值,没有则返回-1
console.log(arr);  // [1, 2, 3]
console.log(citrus);  // 1

5. lastIndexOf()

数组最后的值开始查找某个值(返回下标值)

let arr = [1,2,3];
let citrus = arr.lastIndexOf(2);  // 数组从最后开始查找,有这个值则返回改值的下标值,没有则返回-1
console.log(arr);  // [1, 2, 3]
console.log(citrus);  // 1

6. forEach()

遍历数组

let arr = [1,2,3];
arr.forEach((item,index,arr)=>{
    console.log(item,index,arr);   // (当前值,当前下标值,当前数组)
})

7. some()

数组根据条件查找(返回布尔值)

let arr = [1,2,3];
let citrus = arr.some((item,index,arr)=>{
    return item > 2;
});
console.log(arr);  // [1, 2, 3]
console.log(citrus);  // true

8. filter()

过滤数组

let arr = [1,2,3];
let citrus = arr.filter((item,index,arr)=>{
    return item > 2;
});
console.log(arr);  // [1, 2, 3]
console.log(citrus);  // [3]

9. map()

遍历数组

let arr = [1,2,3];
let citrus = arr.map((item,index)=>{
    return item + 1;
});
console.log(arr);  // [1, 2, 3]
console.log(citrus);  // [2, 3, 4]

10. every()

数组是否都符合条件条件

let arr = [1,2,3];
let citrus = arr.every((item,index,arr)=>{
    return item > 2;
});
console.log(arr);  // [1, 2, 3]
console.log(citrus);  // false

11. reduceRight()

返回计算结果(从右到左)

let arr = [1,2,3];
let citrus = arr.reduceRight((total, currentValue, currentIndex, arr)=>{
    return total + currentValue;
})
console.log(arr);   // [1, 2, 3]
console.log(citrus);  // 6

12. reduce()

返回计算结果(从左到右)

let arr = [1,2,3];
let citrus = arr.reduce((total, currentValue, currentIndex, arr)=>{
    return total + currentValue;
})
console.log(arr);   // [1, 2, 3]
console.log(citrus);  // 6

13. toString()

let arr = [1,2,3];
let citrus = arr.toString();
console.log(arr);  // [1, 2, 3]
console.log(citrus);  // 1,2,3

14. find()

数组查找(返回首个符合条件的值)

let arr = [1,2,3];
let citrus = arr.find((item,index,arr)=>{
    return item > 2;
});
console.log(arr);  // [1, 2, 3]
console.log(citrus);  // 3

15. findIndex()

数组查找(返回首个符合条件的下标值)

let arr = [1,2,3];
let citrus = arr.findIndex((item,index,arr)=>{
    return item > 2;
});
console.log(arr);  // [1, 2, 3]
console.log(citrus);  // 2

16. includes()

数组查找(返回布尔值)

let arr = [1,2,3];
let citrus = arr.includes(2)
console.log(arr);  // [1, 2, 3]
console.log(citrus);  // true

16. keys()

数组查找key

let arr = [1,2,3];
let citrus = arr.keys(arr)
console.log(citrus.next().value);  // 0
console.log(citrus.next().value);  // 1
console.log(citrus.next().value);  // 2

17. from()

通过字符串创建数组

let arr = Array.from('123');
console.log(arr);  // ['1', '2', '3']

...

总结

希望大家都可以找到在工作中的乐趣。
热爱前端技术。
新手交流点这里 -->有兴趣一起摸鱼的点击这里