admin管理员组文章数量:1794759
js中不改变原数组的方法
不改变原数组的方法
1. concat( ) :用于连接两个或多个数组
代码语言:javascript代码运行次数:0运行复制var arr1 = [1, 2, 3]
var arr2 = ['a', 'b', 'c']
var arr3 = [{ name: 'Lisa', age: 18 }, { name: 'Jack', age: 20 }]
var result = arr1.concat(arr2, arr3)
console.log(result); // [1, 2, 3, 'a', 'b', 'c', {name: 'Lisa', age: 18}, {name: 'Jack', age: 20}]
2. every( ) :用于检测数组所有的元素是否都符合指定条件 每一个都满足条件 返回true 有一个不满足 就会返回false 并且剩下的元素不会再进行检测 返回值为布尔值
代码语言:javascript代码运行次数:0运行复制 var arr=[12, 5, 4, 66, 21, 99]
var result = arr.every(function (item) {
return item >20
})
console.log(result); // false
3. some( ) :用于检测数组中的元素是否满足指定条件 有一个元素满足条件 返回true 剩下的元素不会再进行检测 如果没有满足条件的元素 则返回false 返回值为布尔值
代码语言:javascript代码运行次数:0运行复制var arr = [12, 5, 4, 66, 21, 99]
var result = arr.some(function (item) {
return item > 20
})
console.log(result); // true
4. filter( ) :‘过滤 筛选’ 创建一个新的数组 新数组中的元素是通过检查指定数组中符合条件的所有元素 结果为true则保存新的数组中 结果为false则过滤掉
代码语言:javascript代码运行次数:0运行复制 var arr = [10, 236, 'hi', true, function () { }, { name: '张三' }];
var result = arr.filter(function (item) {
return typeof item == 'number' || typeof item == 'boolean' || item instanceof Function;
});
console.log(result); // [10, 236, true, ƒ ()]
5. map( ) :‘映射’ 返回一个新数组 数组中的元素为原始数组元素调用函数处理后的值
代码语言:javascript代码运行次数:0运行复制var arr =[1, 2, 3, 4, 5, 6]
var result = arr.map(function (item) {
return item + 'hi'
})
console.log(result); // ['1hi', '2hi', '3hi', '4hi', '5hi', '6hi']
6. reduce( ) :接收一个函数作为累加器 数组中的每个值(从左到右)开始缩减 最终计算为一个值
代码语言:javascript代码运行次数:0运行复制语法:array.reduce(function(total, currentValue, currentIndex, arr), initialValue)
total为初始值 currentValue为当前元素 currentIndex为当前元素的索引 arr为数组本身 initialValue为传递给函数的初始值
var arr = [1, 2, 3, 4, 5, 6]
var result = arr.reduce(function (total,currentValue,currentIndex,arr) {
return total + currentValue
},10)
console.log(result); // 31
7. indexOf( ) :返回数组中某个指定的元素位置 (从索引为0开始 检查数组中是否包含有某个值 有则返回匹配到的第一个索引 没有则返回-1)
代码语言:javascript代码运行次数:0运行复制var arr = ["Banana", "Orange", "Apple", "Strawberry"];
var result = arr.indexOf('Orange');
console.log(result); // 1
8. lastIndexOf( ) :返回一个指定的元素在数组中最后出现的位置 从该字符串的后面向前查找 (有则返回匹配到的第一个索引 没有则返回-1)
代码语言:javascript代码运行次数:0运行复制var arr = ["Banana", "Orange", "Apple", "Strawberry", "Apple", "Orange"];
var result = arr.lastIndexOf('Orange');
console.log(result); // 5
9. forEach( ) :用于调用数组的每个元素,并将元素传递给回调函数 (循环遍历数组 参数是一个函数“回调函数” 函数的3个参数(1.当前元素 2.数组的索引 3.数组本身))
代码语言:javascript代码运行次数:0运行复制var arr = [10, 236, 'hi', true, 'hello'];
arr.forEach(function (item, index, arr1) {
console.log('index为' + [index], 'item为' + item);
// index为0 item为10
// index为1 item为236
// index为2 item为hi
// index为3 item为true
// index为4 item为hello
})
10. join(separator) :用于把数组中的所有元素转换一个字符串 (separator表示要使用的分隔符 如果省略 则使用逗号隔开 如果为空字符串 则使用空格隔开 )
代码语言:javascript代码运行次数:0运行复制// 填写参数
var arr = ["Banana", "Orange", "Apple", "Pear"];
var result = arr.join(" and ");
console.log(result); // Banana and Orange and Apple and Pear
// 不写参数
var arr = ["Banana", "Orange", "Apple", "Pear"];
var result = arr.join();
console.log(result); // Banana,Orange,Apple,Pear
11. slice(start,end) :从已有的数组中返回选定的元素 (start表示从哪里开始 如果为负数 就从倒数的第几个元素开始提取 end表示从哪里结束 如果没有指定 那么切分的数组从start到结束的所有元素 如果为负数 表示在原数组中的倒数第几个元素结束抽取)
代码语言:javascript代码运行次数:0运行复制 var arr = ["Banana", "Orange", "Apple", "Strawberry", 'Pear', 'Lemon'];
var result = arr.slice(1, 3);
console.log(result); // ['Orange', 'Apple']
var arr = ["Banana", "Orange", "Apple", "Strawberry", 'Pear', 'Lemon'];
var result = arr.slice(-3); // slice(-3) 表示提取原数组中的倒数第三个元素到最后一个元素(包含 最后一个元素)
console.log(result); // ['Strawberry', 'Pear', 'Lemon']
var arr = ["Banana", "Orange", "Apple", "Strawberry", 'Pear', 'Lemon'];
var result = arr.slice(-2,-1); // slice(-2,-1) 表示抽取了原数组中的倒数第二个元素到最后一个元素(不包含最后一个元素,也就是只有倒数第二个元素)
console.log(result); // ['Pear']
12. toString( ) :将数组中的元素用逗号拼接成字符串 返回拼接后的字符串
代码语言:javascript代码运行次数:0运行复制 var arr = [1, 2, 3];
arr.toString();
console.log(arr); // [1, 2, 3]
13. valueOf( ) :返回数组对象的原始值
代码语言:javascript代码运行次数:0运行复制var arr = ["Banana", "Orange", "Apple", "Pear"];
arr.valueOf();
console.log(arr); // ['Banana', 'Orange', 'Apple', 'Pear']
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2024-10-15,如有侵权请联系 cloudcommunity@tencent 删除数组索引字符串var函数本文标签: js中不改变原数组的方法
版权声明:本文标题:js中不改变原数组的方法 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1754835932a1707104.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论