# 一些你可能不了解的数组方法
数组是 Javascript 中最常见的概念之一,它给我们提供了处理存储在其中的数据的很多可能性。考虑到数组是我们开始学习编程就会了解到的最基本的主题之一,在本文中,将会向你展示一些你可能不知道但是很有用的数组的一些方法。
# 1. 数组去重
数组去重可以说是面试中最常见的一个问题了,这里有一个快速且简单的解决方案,我们可以使用 new Set()
来去重。下面为你展示两中使用 new Set()
去重的方法。
var num = [1, 1, 2, 2, 3, 4, 5, 3, 2] | |
// First method | |
console.log(Array.from(new Set(num))); // returns [1, 2, 3, 4, 5] | |
// Second method | |
console.log([...new Set(num)]); // returns [1, 2, 3, 4, 5] |
# 2. splice
有时候, 在创建代码时有必要替换数组中的特定值, splice()
方法可以很好的完成这种需求。 splice 接收三个参数:
- start:规定添加 / 删除元素的位置
- howmany:要删除的元素数量
- valueToAdd:向数组添加的新元素
var fruits = ['banana', 'apple', 'orange']; | |
fruits.splice(0, 2, 'potato', ''); // 该方法返回删除的元素,['banana', 'apple'] | |
console.log(fruits); // returns ['potato', '', 'orange'] |
# 3. 不实用 map 遍历数组
可能每个人数组的 map()
方法,但是可以使用另外一种解决方案来获得相似的效果以及干净的代码。
var friends = [ | |
{ name: 'John', age: 22 }, | |
{ name: 'Peter', age: 23 }, | |
{ name: 'Mark', age: 24 }, | |
{ name: 'Maria', age: 22 }, | |
{ name: 'Monica', age: 21 }, | |
{ name: 'Martha', age: 19 } | |
] | |
var friendsNames = Array.from(friends, ({name}) => name); | |
console.log(friendsNames); // returns ["John", "Peter", "Mark", "Maria", "Monica", "Martha"] |
# 4. 清空数组
你是否有一个充满元素的数组,但是处于某种原因你需要清空它,我们有另外一中清空数组的方法。
var num = [1, 2, 3, 4] | |
num.length = 0 | |
console.log(num) // [] |
# 5. 将数组转换为对象
将数组转换为对象最快的方法
var person = ['arrary', 'number', 'string'] | |
console.log({...person}) // {0: "arrary", 1: "number", 2: "string"} |
# 6. 填充数组
在某些情况下,当我们创建一个数组时,我们想用一些数据填充它,我们可以使用 fill()
。
var newArray = new Array(10).fill("1"); | |
console.log(newArray) // ["1", "1", "1", "1", "1", "1", "1", "1", "1", "1"] |
# 7. 合并数组
你知道在不使用 concat()
方法将数组合并为一个数组嘛?有一种简单的方法可以将任意数量的数组合并。
var arr1 = [1,2,3,4] | |
var arr2 = [5,6,7,8] | |
var arr3 = [9,10] | |
console.log([...arr1, ...arr2, ...arr3]) // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] |
# 结束语
在本文中,展示了一些数组方法和技巧,它们可以帮组你进行编码并保持代码简洁。在 Javascript 中有许多很值得探索的技巧,不仅仅是数组,其他的数据类型也是。很希望你能将你常用的编码技巧分享给我,再见!