JS数组的常用操作方法--(了解这些数组就够了)

 2024-02-07 02:02:45  阅读 0

1.split方法:将字符串拆分为子字符串,然后将结果作为字符串数组返回返回:字符串数组

var arr="123,456,789" arr.split(',') // ["123", "456", "789"]

2.join方法:用于将数组中的所有元素放入一个字符串中。 元素由指定的分隔符分隔。 返回值:字符串

var arr=["123", "456", "789"],arr.join('') // ""

arr.join() 返回“123,456,789”,

3.()方法:()方法向数组添加/删除项目,然后返回删除的项目。

注意:该方法会改变原来的数组。 var arr=[1,2,3,4,5] arr.(0,1) //[2,3,4,5]表示从索引0开始,删除1个元素

4.slice()返回一个新数组,包含从start到end的元素(不包括本元素)。

var arr=[1,2,3,4,5] arr.slice(1,4) //[3,4,5]

遍历包括,地图,,每一个,一些,

3、数组的()方法用于调用数组的每个元素,并将元素传递给回调函数。

注意:()不会对空数组执行回调函数。

var arr=[1,2,3,4,5] arr.((item,index)=>{if(item%2==0).log(item)})

// 24

4. 数组的map()方法返回一个新数组。 数组中的元素是调用函数后原数组元素的值。

常见写法:var arr=[1,2,3,4,5] var =arr.map((item){ item*item})

es6箭头函数写法:arr.map(item=>item*item) // [1, 4, 9, 16, 25]

5、数组的()方法,()方法创建一个新数组,通过检查指定数组中所有符合条件的元素来检查新数组中的元素。

注意:() 不检测空数组。 注意:()不会改变原数组。

var arr=[1,2,3,4,5] arr.(item=>item%2==0) //[2,4]

6.数组的every()方法。 every()方法用于检测数组的所有元素是否满足指定条件(通过函数提供)。

every() 方法使用指定的函数检测数组中的所有元素:

如果检测到数组中有一个元素不满足,则整个表达式返回 false,并且不会再次测试其余元素。

如果所有元素都满足条件,则返回 true。

注意:every() 不检测空数组。 注意:every() 不会改变原始数组。

var arr=[1, 2, 3, 4, 5] arr.every(item=>item>0) //true

7.数组的()方法。 () 方法接收一个函数作为累加器。 数组中的每个值(从左到右)开始递减,最后计算为一个值。

注意:()不会对空数组执行回调函数。

var arr=[1,2,3,4,5] arr.((上一个,索引)=>上一个+索引) //15

8、some()方法用于检测数组中的元素是否满足指定条件(由函数提供)。 注意:每种方法效果都一样! !

some() 方法按顺序执行数组的每个元素:

如果一个元素满足条件,则表达式返回 true,并且不会再次检查其余元素。

如果没有满足条件的元素,则返回 false。

1. 删除重复项

这也是一个常见的面试问题,如何从JS数组中去除重复项。 在 ES6 时代,有一种非常快速且简单的方法,使用 new Set() 和 Array.from() 或展开运算符 (...)

var = ["", "苹果", "", "", "苹果", "", "葡萄", "苹果"];

//方法一

var = Array.from(new Set());

。日志(); // ["", "苹果", "", "", "葡萄"]

// 方法二

var = […new Set()];

。日志(); // ["", "苹果", "", "", "葡萄"]

2. 更换

在日常开发中,我们经常需要替换或者删除一些指定的数据。 遇到这种场景,我们一定会想到Array...方法。 传递参数稍微复杂一些。 第一个参数是起始索引,第二个参数是要删除的数字,其余是要添加的值(可以是一个或多个)。

var = ["", "苹果", "", "", "苹果", "", "葡萄", "苹果"];

.(0, 2, “”, “”);

。日志();

// ["", "", "", "", "苹果", "", "葡萄", "苹果"]

3.遍历数组

我们平时用的最多的是数组的.map方法。 事实上,还有另一种方法可以达到同样的目的。 它的用法比较冷门,所以我们总是忽略它,那就是Array.from

变量 = [

{ 姓名:'约翰',年龄:22 },

{ 姓名:“彼得”,年龄:23​​ },

{ 姓名:'马克',年龄:24 },

{ 姓名:“玛丽亚”,年龄:22 },

{ 姓名:'',年龄:21 },

{ 姓名:'',年龄:19 },

var = Array.from(, ({name}) => name);

。日志();

// [“约翰”、“彼得”、“马克”、“玛丽亚”、“”、“”]

4.清空数组

有时候我们需要清空一个数组,比如用户点击清空购物车。 可以一一删除,不过这么可爱的程序员很少了,哈哈。 其实一行代码就可以搞定,就是直接设置为0

var = ["", "苹果", "", "", "苹果", "", "葡萄", "苹果"];

。 = 0;

。日志();

//[]

5. 将数组转换为对象

有时你需要将数组转换为对象的形式。 使用.map()等迭代方法可以达到目的。 这是一个更快的方法,前提是您只想将对象的键作为数组的索引。

var = ["", "苹果", "", ""];

var = { ... };

。日志();

// {0: “”, 1: “苹果”, 2: “”, 3: “”, 4: “苹果”, 5: “”, 6: “葡萄”, 7: “苹果”}

6. 填充数组

创建数组的时候,你有遇到过需要填写默认值的场景吗? 您首先想到的一定是循环数组。 ES6提供了更方便的.fill方法

var = new Array(10).fill("1");

。日志();

// [“1”,“1”,“1”,“1”,“1”,“1”,“1”,“1”,“1”,“1”,“1”]

7. 合并数组

你知道如何合并数组吗? 答案是 。()。 哈哈,不过今天的主角是ES6扩展运算符(...)

var = ["苹果", "", ""];

var Meat = ["", "牛肉", "鱼"];

var = ["", "", ""];

var food = […,…肉,…];

.log(食物);

// ["苹果","","","","牛肉","鱼","","",""]

8. 两个数组的交集

求两个数组的交集是一个经典的 JS 面试题。 这道题可以很好地考验考生的逻辑是否清晰,以及考生对数组的掌握是否熟练。这个问题的答案有很多种。 下面是ES6的简洁写法。

var = [0, 2, 4, 6, 8, 8];

var = [1, 2, 3, 4, 5, 6];

var = […new Set()].(item => .(item));

。日志();

// [2, 4, 6]

9. 删除错误值

首先我们先了解一下什么是falsy? 在JS中,假值包括:false、0、''、null、NaN。现在我们找到这些假值并去除它们,这里使用. 方法

var = [0, “蓝色”, “”, NaN, 9, true, , “白色”, false];

var = .();

。日志();

// [“蓝色”, 9, true, “白色”]

10. 随机值

从数组中获取随机值也是一道经典的面试题。其实考察的核心知识就是随机生成一个数组的值x:x >= 0 and x <

var = [“蓝色”、“白色”、“绿色”、“海军蓝”、“粉色”、“”、“”、“”、“黑色”、“棕色”];

var = [(Math.floor(Math.() * (.)))]

11. 颠倒顺序

如何反转数组?只需要一行代码

var = [“蓝色”、“白色”、“绿色”、“海军蓝”、“粉色”、“”、“”、“”、“黑色”、“棕色”];

var = .();

// 或 .slice().();

//两者有什么区别?

。日志();

// [“棕色”、“黑色”、“”、“”、“”、“粉色”、“海军蓝”、“绿色”、“白色”、“蓝色”]

12.()

很多时候我们在查找数组中是否存在某个元素的时候,经常使用方法,也经常忽略方法。 使用后者的一种场景是数组中存在重复数据时。

var nums = [1, 5, 2, 6, 3, 5, 2, 3, 6, 5, 2, 7];

var = nums.(5);

。日志();

// 9

13. 求和

对数组中所有元素求和,哈哈,又是一个著名的面试题。 答案有很多。 条条大路通罗马。 这里使用的方法是一个值得学习的知识点,而且用途很多。

var nums = [1, 5, 2, 6];

var sum = nums.((x, y) => x + y);

.log(总和); // 14

标签: 数组 元素 字符

如本站内容信息有侵犯到您的权益请联系我们删除,谢谢!!


Copyright © 2020 All Rights Reserved 京ICP5741267-1号 统计代码