forEach
var arr = [1, 2, 3, 4, 5];
// forEach
arr.forEach(function (item, i, array) {
console.log(item, i, array);
})
结果:
1 0 [1, 2, 3, 4, 5]
2 1 [1, 2, 3, 4, 5]
3 2 [1, 2, 3, 4, 5]
4 3 [1, 2, 3, 4, 5]
5 4 [1, 2, 3, 4, 5]
map:其最主要的作用就是将原数组按照一定的规则映射成一个新的数组。再将其返回,注意是返回一个新的数组,而不是将原数组直接改变使用方式和forEach类似,也是接受一个回调函数,一个改变内部this指向的对象。
var arr = [1, 2, 3, 4, 5];
var newArr = arr.map(function (e, i, array) {
return 'hello ' + e;
})
结果:
["hello 1", "hello 2", "hello 3", "hello 4", "hello 5"] // newArr
[1, 2, 3, 4, 5] // arr
filter 返回一个新的数组;
var arr = [1, 2, 3, 4, 5];
var newArr2 = arr.filter(function (e, i, array) {
if (e >= 2) return true;
})
some vs every some与接下里的every正好相对,some是只要数组中的某个值,符合你给定的判断条件就返回true,而every则是数组中的所有值都符合你给定的判断条件的时候才会返回true,否则就返回false,也就是说两个方法最后得到的都是true or false
var arr = [0, 1, 2, 3, 4, 5];
var result = arr.some(function (e, i, array) {
if (e === 3) {return true};
});
结果 :true
var arr = [0, 1, 2, 3, 4, 5];
var result2 = arr.every(function (e, i, array) {
if (e > 3) {return true};
});
结果:false
indexOf
var arr = [0, 1, 2, 3, 4, 5];
arr.indexOf(1) // 1
lastIndexOf
var arr = [0, 1, 2, 3, 4, 5, 4, 3, 2, 1, 0];
arr.lastIndexOf(1) // 9
reduce:如果没有传入initialValue,则默认是数组的第一项。第二个及其后面的参数分别是当前值,索引,数组本身
var arr = [0, 1, 2, 3, 4, 5],
sum = arr.reduce(function (init, cur, i, array) {
return init + cur;
});
//output
sum // 15
reduceRight 类似reduce
set 数组去重
let test = [0, 1, 2, 3, 4, 5, 4, 3, 2, 1, 0];
[...new Set(test)];
结果:[0,1,2,3,4,5]
from()
let myArray = {'0':'a','1':'b','2':'c'};
let arr = Array.from(myArray);
console.log(arr); //[]由于没有length属性打印结果为一个空数组
let myArray = {'0':'a','1':'b','2':'c',length:3};
let arr = Array.from(myArray);
console.log(arr); //["a", "b", "c"]
如果参数是一个真正的数组,Array.from()会返回一个一模一样的新数组
var arr = [1,2,3];
var myArr = Array.from(arr);
console.log(myArr); //[1, 2, 3]
myArr[0] = 4;
console.log(myArr); //[4, 2, 3]
keys(),valueOf(),entries()方法
keys()遍历出所有的索引值
for (let index of ['a', 'b'].keys()) {
console.log(index);
} //0 1
valueOf()遍历所有的值
for (let index of ['a', 'b'].valueOf()) {
console.log(index);
} //a b
entries()遍历值和索引
for (let index of ['a', 'b'].entries()) {
console.log(index);
} //[0, "a"] [1, "b"]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。