数组常用方法
数组方法多,先记住一个分类标准:会不会改变原数组。增删类的 push/pop/shift/unshift/splice/sort 会改变原数组;查找截取类的 indexOf/includes/slice/concat/join 不会。
push/pop:尾部加/删;unshift/shift:头部加/删;splice(start, count, ...插入项):万能的增删改,一个方法干三件事;slice(start, end):截取[start, end)区间,常用来复制数组;indexOf/includes:查找元素位置或是否存在;join('-'):拼接成字符串;concat:合并数组。
区分 splice 和 slice 只需记住:带 p 的会改原数组(p 可以联想「破坏 pierce」),slice 安全无副作用。
本节要点push/pop/shift/unshift/splice/sort 改原数组;slice/indexOf/includes/join 不改;splice 是万能增删改。
JavaScript
const arr = ['a', 'b', 'c', 'd']; // 尾部与头部增删(改变原数组) arr.push('e'); // 尾部加 → a,b,c,d,e arr.pop(); // 尾部删 → a,b,c,d arr.unshift('z'); // 头部加 → z,a,b,c,d arr.shift(); // 头部删 → a,b,c,d console.log(arr); // splice:从下标1删1个,并插入'B'(改变原数组) arr.splice(1, 1, 'B'); console.log(arr); // 查找(不改变原数组) console.log(arr.indexOf('c')); // 2(找不到返回 -1) console.log(arr.includes('a')); // true // 截取、合并、转字符串 console.log(arr.slice(1, 3)); // 截取下标 [1,3) console.log(arr.slice()); // 常用套路:复制数组 console.log(['x'].concat(arr)); // 合并 console.log(arr.join('-')); // 'a-B-c-d'
📚 推荐阅读
来自万象云档的免费在线书籍,点击封面直接阅读




