学堂 学堂 学堂公众号手机端

js 关于数组的常用方法浅记

lewis 1年前 (2024-04-01) 阅读数 6 #技术

参见: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:concat1)组合连接两个及以上数组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

都是一些简单但容易混淆的概念,常看常新~

版权声明

本文仅代表作者观点,不代表博信信息网立场。

热门