首页IT科技js数组entries(JS数组常用的操作方法)

js数组entries(JS数组常用的操作方法)

时间2025-08-03 21:22:00分类IT科技浏览4118
导读:1. push( 将一个或多个元素添加到数组的末尾,并返回该数组的新长度。此方法修改原有数组。 var arr = [a,b,c]; var ele = arr.push(...

1. push() 将一个或多个元素添加到数组的末尾            ,并返回该数组的新长度               。此方法修改原有数组                    。 var arr = [a,b,c]; var ele = arr.push(d); // ele结果为: 4; // arr数组被修改: [a,b,c,d]; 2. pop()                     ,从数组中删除最后一个元素        ,并返回该元素的值      。如果数组为空         ,则返回undefined           。此方法修改原有数组                     。 var arr = [a,b,c,d]; var ele = arr.pop(); // ele结果为: d; // arr数组被修改: [a,b,c]; 3. shift()                    ,从数组中删除第一个元素            ,并返回该元素的值         。此方法修改原有数组       。 var arr = [a,b,c,d]; var ele = arr.shift(); // ele结果为: a; // arr数组被修改: [bc,d]; 4. unshift()      ,将一个或多个元素添加到数组的开头                   ,并返回该数组的新长度                      。此方法修改原有数组            。 var arr = [a,b,c]; var ele = arr.unshift(d); // ele结果为: 4; // arr数组被修改: [d,a,b,c]; 5. slice(begin?,end?)                ,返回一个新的数组对象   ,这一对象是一个由 begin 和 end 决定的原数组的浅拷贝(包括 begin                  ,不包括end)   。原始数组不会被改变                      。

begin 可选 提取起始处的索引(从0开始)                   ,从该索引开始提取原数组元素

如果该参数为负数,则表示从原数组中的倒数第几个元素开始提取               ,slice(-2) 表示提取原数组中的倒数第二个元素到最后一个元素(包含最后一个元素)               。

如果省略 begin                      ,则 slice 从索引 0 开始。

如果 begin 超出原数组的索引范围    ,则会返回空数组                   。

end 可选 提取终止处的索引(从 0 开始)            ,在该索引处结束提取原数组元素                   。slice 会提取原数组中索引从 begin 到 end 的所有元素(包含 begin                     ,但不包含 end)   。

slice(1,4) 会提取原数组中从第二个元素开始一直到第四个元素的所有元素 (索引为 1, 2, 3的元素)               。

如果该参数为负数        , 则它表示在原数组中的倒数第几个元素结束抽取                    。 slice(-2,-1) 表示抽取了原数组中的倒数第二个元素到最后一个元素(不包含最后一个元素         ,也就是只有倒数第二个元素)      。

如果 end 被省略                    ,则 slice 会一直提取到原数组末尾           。

如果 end 大于数组的长度            ,slice 也会一直提取到原数组末尾                     。 var arr = [a,b,c,d]; var res = arr.slice(0,2); // arr数组未被修改: [a, b, c, d]; // res数组为: [a, b]; 6. splice(start,deleteCount?,item1?)       ,通过删除或替换现有元素或者原地添加新的元素来修改数组,并以数组形式返回被修改的内容(如果只删除了一个元素                   ,则返回只包含一个元素的数组         。如果没有删除元素                ,则返回空数组)       。此方法修改原数组                      。

start:

指定修改的开始位置(从0计数)            。如果超出了数组的长度   ,则从数组末尾开始添加内容;如果是负值                  ,则表示从数组末位开始的第几位(从-1计数                   ,这意味着-n是倒数第n个元素并且等价于array.length-n);如果负数的绝对值大于数组的长度,则表示开始位置为第0位   。

deleteCount (可选):

整数               ,表示要移除的数组元素的个数                      。

如果 deleteCount 大于 start 之后的元素的总数                      ,则从 start 后面的元素都将被删除(含第 start 位)               。

如果 deleteCount 被省略了    ,或者它的值大于等于array.length - start(也就是说            ,如果它大于或者等于start之后的所有元素的数量)                     ,那么start之后数组的所有元素都会被删除。

如果 deleteCount 是 0 或者负数        ,则不移除元素                   。这种情况下         ,至少应添加一个新元素                   。

item1, item2, … (可选):

要添加进数组的元素,从start 位置开始   。如果不指定                    ,则 splice() 将只删除数组元素               。 var arr = [a, b, c, d]; // 从索引 2 的位置开始删除 0 个元素            ,插入"e" var insertOnce = arr.splice(2,0,e); insertOnce = [] arr = [a, b, e, c, d] // 从索引3的位置开始删除一个元素 var delOnce = arr.splice(3,1); // delOnce数组为: [c] // arr数组被修改: [a, b, e, d] 7. concat()      ,于合并两个或多个数组                    。此方法不会更改现有数组                   ,而是返回一个新数组      。 var arr1 = [a, b, c, d]; var arr2 = [e,f] var arr3 = arr1.concat(arr2); // arr3数组为: [a, b, c, d,e,f] 8. join()                ,将一个数组(或一个类数组对象)的所有元素连接成一个字符串并返回这个字符串           。如果数组只有一个项目   ,那么将返回该项目而不使用分隔符(默认使用’,分隔                  ,如果使用""                   ,则所有元素之间都没有任何字符)                     。 var arr = [a,b,c,d]; var str = arr.join("-") // str结果为: "a-b-c-d" 9. sort(),对数组的元素进行排序         。此方法修改原数组       。 var arr = [1,5,2,4,3] arr.sort() // arr数组被修改: [1,2,3,4,5] 10. reverse()               ,将数组中元素的位置颠倒                      ,并返回该数组                      。数组的第一个元素会变成最后一个    ,数组的最后一个元素变成第一个            。该方法修改原数组   。 var arr = [1,2,3,4,5]; arr.reverse(); // arr数组被修改: [5,4,3,2,1] 11. forEach(function(currentValue            ,index?,array?),thisValue?)                     ,对数组的每个元素执行一次给定的函数                      。

currentValue 必选 当前元素的值

index 可选 当前元素的索引值

array 可选 当前元素属于的数组对象

thisValue 可选 执行callback函数时值被用作 this               。如果省略或传入null,undefined那么callback函数的this为全局对象

function logArrayElements(element, index, array) { console.log(a[ + index + ] = + element); } // 注意索引 2 被跳过了        ,因为在数组的这个位置没有项 [2, 5, , 9].forEach(logArrayElements); // logs: // a[0] = 2 // a[1] = 5 // a[3] = 9 12. map(function(currentValue         ,index?,array?),thisValue?)                    ,创建一个新数组            ,其结果是该数组中的每个元素是调用一次提供的函数后的返回值。 // 使用 map 重新格式化数组中的对象 var kvArray = [{key: 1, value: 10}, {key: 2, value: 20}, {key: 3, value: 30}]; var reformattedArray = kvArray.map(function(obj) { var rObj = {}; rObj[obj.key] = obj.value; return rObj; }); // reformattedArray 数组为: [{1: 10}, {2: 20}, {3: 30}], // kvArray 数组未被修改: // [{key: 1, value: 10}, // {key: 2, value: 20}, // {key: 3, value: 30}] 13. filter(function(currentValue,index,arr), thisValue)      ,创建一个新的数组                   ,新数组中的元素是通过检查指定数组中符合条件的所有元素                   。 // 筛选出字符串数组中长度大于6的字符串 const words = [spray, limit, elite, exuberant, destruction, present]; const result = words.filter(word => word.length > 6); console.log(result); // log: ["exuberant", "destruction", "present"] 14. every(function(currentValue,index,arr), thisValue)                ,测试一个数组内的所有元素是否都能通过某个指定函数的测试                   。它返回一个布尔值(若收到一个空数组   ,此方法在一切情况下都会返回 true)   。 // 检查是否数组中的所有数字都小于40 const isBelowThreshold = (currentValue) => currentValue < 40; const array1 = [1, 30, 39, 29, 10, 13]; console.log(array1.every(isBelowThreshold)); // log: true 15. some(function(currentValue,index,arr), thisValue)                  ,测试数组中是不是至少有1个元素通过了被提供的函数测试               。它返回的是一个Boolean类型的值(如果用一个空数组进行测试                   ,在任何情况下它返回的都是false)                    。 // 检测数组中是否至少有一个数字大于 18: var ages = [3, 10, 18, 20]; function checkAdult(age) { return age >= 18; } function myFunction() { document.getElementById("demo").innerHTML = ages.some(checkAdult); } 16. find(function(currentValue,index,arr), thisValue),返回数组中满足提供的测试函数的第一个元素的值      。否则返回 undefined           。 // 获取数组中第一个大于10的值 const array1 = [5, 12, 8, 130, 44]; const found = array1.find(element => element > 10); console.log(found); // expected output: 12 17. flat(depth?)               ,按照一个可指定的深度递归遍历数组                      ,并将所有元素与遍历到的子数组中的元素合并为一个新数组返回                     。此方法不会改变原数组         。

depth 可选 指定要提取嵌套数组的结构深度    ,默认值为 1       。

const arr1 = [0, 1, 2, [3, 4]]; console.log(arr1.flat()); // log: [0, 1, 2, 3, 4] const arr2 = [0, 1, 2, [[[3, 4]]]]; console.log(arr2.flat(2)); // log: [0, 1, 2, [3, 4]]

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
w10环境变量(win11环境变量在哪?Windows11环境变量设置方法) vue 动态设置style(Vue动态样式方法总结)