摘要:在为的位置,删除个元素,插入删了为的元素,替换为删了为的元素数组的增删改都可以用完成返回从原数组中指定开始下标到结束下标之间的项组成的新数组该方法不会改变原始数组。不传值表示克隆了除了正常用法,经常用来将对象转换为。
js 中数组的常用方法总结
arr.fill("a");
//所有子元素 都改为 "a";
[{a: 1},{b: 2}, ...Array(8).fill({}, 0)]
//后面八个元素 全部用 {} 代替;
[{a: 1},{b: 2}, ...Array(8).fill({}, 0,5)]
//后面5 个元素用{}代替,其他是 undefined
arr.every(item=> item.age>20);
//如果数组中所有元素的age >20 ,返回true,否则返回false;
arr.some(item=> item.age>20);
//如果数组中有一个元素的age >20 ,返回true,否则返回false;
findIndex(),find( ) 和 filter()都是 匹配 item;
区别是 find 只找到第一个就停止, find 返回的是 符合的item
filter 返回所有匹配的item组成的数组;
findIndex 返回的是 item的index;
lastIndexOf() ,indexOf() 和 includes() 都是检查是否存在某个item;
区别是 indexof 无法判断NaN ;includes 可以;
indexof 找不到返回 -1,找到返回index;
includes() 直接返回 true 或 false;
lastIndexOf() 从字符后面开始查找,返回 最后一个匹配的index,找不到 就返回 -1;
pop():删除原数组最后一项,并返回删除元素的值;如果数组为空则返回undefined,改变原数组
shift:删除原数组第一项,并返回删除元素的值;如果数组为空则返回undefined,改变原数组
unshift:将参数添加到原数组开头,并返回数组的长度,改变原数组
push:将参数添加到原数组末尾,并返回数组的长度,改变原数组
concat:返回一个新数组,是将参数添加到原数组中构成的,不改变原数组;
splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目,该方法会改变原始数组。
arr.splice(2,0,"a") 在index为2的位置,删除0 个元素,插入 "a";
arr.splice(2,1,"a") 删了index 为2 的元素,替换为 "a";
arr.splice(2,1,"a") 删了index 为2 的元素;
数组的增删改 都可以用splice 完成;
slice(start,end):返回从原数组中指定开始下标到结束下标之间的项组成的新数组,该方法不会改变原始数组。
var arr2 = arr.slice() ; 不传值表示 克隆了 arr2;
除了正常用法,slice 经常用来将 array-like 对象转换为 true array。在一些框架中会经常有这种用法:
Array.prototype.slice.call(arguments);//将参数转换成真正的数组.
reverse:将数组反序
sort((a,b)=>a-b):按指定的参数对数组进行排序 return a-b 升序 b-a 降序
例如: var arr=[{name:"a",age:21},{name:"b",age:12},{name:"c",age:2},{name:"d",age:42},{name:"e",age:1}] 按照age 从小到大排序 arr = arr.sort(function (a,b) { return a.age>b.age }) console.log(arr)
arr.join(";") 方法用于把数组中的所有元素放入一个字符串,;隔开。
str.split(";") 字符串转数组,以‘;’区分;
arr.forEach(item=>{})
遍历数组,它不能停止循环;
reduce()
改变原数组的:
shift:将第一个元素删除并且返回删除元素,空即为undefined
unshift:向数组开头添加元素,并返回新的长度
pop:删除最后一个并返回删除的元素
push:向数组末尾添加元素,并返回新的长度
reverse:颠倒数组顺序
sort:对数组排序
splice:splice(start,length,item)删,增,替换数组元素,返回被删除数组,无删除则不返回
不改变原数组的:
concat:连接多个数组,返回新的数组
join:将数组中所有元素以参数作为分隔符放入一个字符
slice:slice(start,end),返回选定元素
map,filter,forEach,some,every等不改变原数组
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/95145.html
摘要:数组语法功能遍历数组,返回回调返回值组成的新数组,不改变原数组,不会对空数组进行检测语法功能无法,可以用中来停止,不改变原数组语法功能过滤,返回过滤后的数组,不改变原数组,不会对空数组进行检测语法功能有一项返回,则整体为,不改变原数组语法 数组 (array) ES5 * map 语法:[].map(function(item, index, array) {return xxx})功...
摘要:元素是通过指定的分隔符进行分隔的。返回值一个字符串数组,执行的操作与执行的操作是相反的。返回值与没有参数的方法返回的字符串相同。 1.javascript删除元素节点 IE中有这样一个方法:removeNode(),这个方法在IE下是好使的,但是在Firefox等标准浏览器中就会报错了 removeNode is not defined,但是在核心JS中有一个操作DOM节点的方法叫:r...
摘要:函数接受个参数前一个值,当前值,项索引,数组本身。更多数组方法请看 js内置对象之Array 一,会改变原数组 1.移除数组末尾最后一项.pop() 返回删除的元素 如果你在一个空数组上调用 pop(),它返回 undefined let word = [a, b, c, d]; let newArr = word.pop(); console.l...
阅读 3488·2021-11-18 10:02
阅读 923·2021-09-04 16:48
阅读 2017·2019-08-30 15:55
阅读 3517·2019-08-30 15:52
阅读 1778·2019-08-30 14:08
阅读 3527·2019-08-30 13:19
阅读 1117·2019-08-27 10:53
阅读 3092·2019-08-26 12:11