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