2023年 前端已死 拯救落魄前端面试圣经之js数组篇

264 阅读3分钟

成功的秘诀在于每天都有所进步,即使只是一点点也可以。- 约翰·C·迪维尔比

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第3天,点击查看活动详情

大家好,我是siuuuuuuuuu

在如今的互联网大环境下,每个人都岌岌可危。本着互联网行业天然的高波动性, 有可能你上午还在工位摸鱼,下午HR已经给你单独开小灶,通知你提前毕业了。所以在当前的互联网环境,每天刷八股文变得很有必要, 因为你永远都会随时被毕业.

圣经系列就是为各位广大的前端从业者准备,该圣经如同武林中绝世武学. 读完此文,融会贯通后, 拳打面试官,脚踢hr, offer拿到手软,不在话下

废话不多说,接下来进入正题。

改变原数组

  1. push(): 将一个或多个元素添加到数组的末尾,并返回新数组的长度。
let arr = [1, 2, 3];
let length = arr.push(4, 5);
console.log(arr); // [1, 2, 3, 4, 5]
console.log(length); // 5
  1. pop(): 删除并返回数组的最后一个元素。
let arr = [1, 2, 3];
let lastElement = arr.pop();
console.log(lastElement); // 3
console.log(arr); // [1, 2]
  1. unshift(): 将一个或多个元素添加到数组的开头,并返回新数组的长度。
let arr = [2, 3];
let length = arr.unshift(0, 1);
console.log(arr); // [0, 1, 2, 3]
console.log(length); // 4
  1. shift(): 删除并返回数组的第一个元素。
let arr = [1, 2, 3];
let firstElement = arr.shift();
console.log(firstElement); // 1
console.log(arr); // [2, 3]
  1. splice(): 从指定下标开始删除指定数量的元素,并可选地插入新元素。返回被删除的元素组成的新数组。
let arr = ['a', 'c', 'd'];
let deleteElements = arr.splice(1, 1, 'b');
console.log(arr); // ['a', 'b', 'd']
console.log(deleteElements); // ['c']
  1. sort(): 数组排序,默认是按照 Unicode 顺序排序。
let arr = [3, 1, 2];
arr.sort();
console.log(arr); // [1, 2, 3]
  1. reverse(): 将数组翻转。
let arr = [1, 2, 3];
arr.reverse();
console.log(arr); // [3, 2, 1]
  1. fill(): 使用指定的静态值填充数组。方法会改变原数组。
let arr = [1, 2, 3];
arr.fill(0);
console.log(arr); // [0, 0, 0]

不改变原数组

  1. concat(): 连接两个或多个数组,并返回新数组。
let arr = [1, 2];
let arr2 = [3, 4];
let newArr = arr.concat(arr2);
console.log(newArr); // [1, 2, 3, 4]
  1. join(): 用指定分隔符将数组中的所有元素连接成字符串,并返回该字符串。
let arr = ['a', 'b', 'c'];
let str = arr.join('-');
console.log(str); // 'a-b-c'
  1. slice(): 返回从原数组中指定开始下标到结束下标之间的所有元素组成的新数组。原数组不会被修改。
let arr = [1, 2, 3];
let newArr = arr.slice(1, 2);
console.log(newArr); // [2]
console.log(arr); // [1, 2, 3]
  1. indexOf(): 返回指定元素在数组中的第一个匹配项的下标,如果没有匹配项,则返回 -1。
let arr = [1, 2, 3];
let index = arr.indexOf(2);
console.log(index); // 1
  1. lastIndexOf(): 返回指定元素在数组中的最后一个匹配项的下标,如果没有匹配项,则返回 -1。
let arr = [1, 2, 3, 2];
let index = arr.lastIndexOf(2);
console.log(index); // 3
  1. filter(): 创建一个新数组,其中包含所有通过指定测试的元素。原数组不会被修改。
let arr = [1, 2, 3, 4];
let newArr = arr.filter((item) => item > 2);
console.log(newArr); // [3, 4]
console.log(arr); // [1, 2, 3, 4]