js 关于数组的常用方法浅记
参见:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array
1:push
定义与说明:
1)往数组最后添加元素
2)改变原数组
3)可以一次添加多个元素 eg:a_array.push(1,2,3)
4)返回结果为变更后的数组长度
let a_array = [1,12,123,1234]
let a_length = a_array.push(12345);
console.log("a_array:",a_array)
console.log("a_length:",a_length)
运行结果:
2:unshift
定义与说明:
1)往数组最前添加元素
2)改变原数组
3)可以一次添加多个元素 eg:a_array.unshift(1,2,3)
4)返回结果为变更后的数组长度
let a_array = [1,12,123,1234]
let a_length = a_array.unshift(1,2,4);
console.log("a_array:",a_array)
console.log("a_length:",a_length)
运行结果:
3:pop
定义与说明:
1)移除数组最后一个元素
2)改变原数组
3)返回结果为变被移除的元素
let a_array = [1,12,123,1234]
let a_changed = a_array.pop();
console.log("a_array:",a_array)
console.log("a_changed:",a_changed)
运行结果:
4:shift
定义与说明:
1)移除数组第一个元素
2)改变原数组
3)返回结果为变被移除的元素
let a_array = [1,12,123,1234]
let a_changed = a_array.pop();
console.log("a_array:",a_array)
console.log("a_changed:",a_changed)
运行结果:
5:splice
定义与说明:
1)向数组添加新项
2)改变原数组
3)返回结果为变被移除的元素(数组类型)
4)参数分别为:
1.操作的下标,如果下标超过数组最大下标则从数组末尾开始操作
2.需要删除的元素长度,可无,默认从操作下标到数组最末尾;如果为0则返回一个空数组;如果第二参数为非数字类型,则该参数会被当做0看待,见下图运行结果4
3.需要重新嵌入的元素,可无
let a_array = [1,12,123,1234]
let a_changed = a_array.splice(2,1,...[1,2,3]);//从下标==2处开始,删除一个元素,且插入1,2,3共三个元素
console.log("a_array:",a_array)
console.log("a_changed:",a_changed)
运行结果:运行结果1
运行结果2
运行结果3
运行结果4
5:slice
定义与说明:
1)从数组中提取出一个新的数组
2)不改变原数组
3)返回结果为变被移除的元素(数组类型)
4)参数分别为:数组提取起始下标和截止下标([startindex,endindex) ,左开右闭;没有截止下标默认到数组最末未;如果起止下标相同则不截取)
运行结果:
6:concat
1)组合连接两个及以上数组
2)不改变原数组!!
3)返回结果链接后的数组
运行结果:
7:join
定义与说明:
1)将数组各项以某个符号串联
2)不改变原数组
3)返回串联后的字符串
4)入参为串联符号,默认为英文逗号串联
运行结果:
8:some MDN
定义与说明:
1)用于判定数组中是否含有某个满足特定条件的值
2)返回值为布尔类型
3)满足匹配条件后立即返回true且退出遍历
4)可以按需丰富some的callback函数
运行结果:简单数组复杂数组复杂数组封装,入参增加匹配key和value
9:every MDN
定义与说明:
1)用于判定数组中是否所有项都满足一个特定的规则
2)返回值为布尔类型
3)如果遍历过程中遇到不满足特定规则的项,则立即返回false并退出遍历
4)可以按需丰富every的callback函数
运行结果:
简单数组复杂数组封装,入参增加匹配key和value
10:filter MDN
定义与说明:
过滤出满足特定条件的新数组
运行结果
10:forEach MDN
定义与说明:
1)对数组中每一项执行指定方法
2)可以用return立即退出当次循环
3)除try/catch外无法终止遍历
4)没有返回
运行结果
11:map MDN
定义与说明:
1)遍历数组后返回一个新的数组
2)不改变原数组,但是复杂类型会被callback改变
3)新建的数组显式为map中return的内容,如果不显式return则该项为undefined
运行结果
12:find/findIndex/findLast/findLastIndex MDN
定义与说明:
1)返回满足特定方法的第一个元素,如所有项都不满足特定方法则返回undefined
都是一些简单但容易混淆的概念,常看常新~
转载自:https://segmentfault.com/a/1190000042335948