ES6新增方法:
1.tostring 方法可把数组转换为字符串,并返回结果;俗称去中括号;
注意: 数组中的元素之间用逗号分隔。
2.find(function(item,index,array){
return item > 9;
)
item 是指每一个元素
index 是指每一个元素对应的索引
array 原数组
return 当条件成立时,返回第一个符合条件的值
var person = [{
name: 'aa',
age: 18
}, {
name: 'bb',
age: 19
}, {
name: 'cc',
age: 20
}, {
name: 'dd',
age: 21
}]
var res = person.find(function (item, index, array) {
console.log(item, index, array);
return item.age > 19;
})
console.log(res); //只返回第一个符合要求的元素
3.filter(function(item,index,array){ //检测数值元素,并返回符合条件所有元素的数组。
return item > 9;
)
filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。
注意: filter() 不会对空数组进行检测。
注意: filter() 不会改变原始数组。
4.every() 判断每一项是否满足判断条件,如果全部满足,返回true,有一个不满足返回false,不在继续检测
注意:every() 不会对空数组进行检测;
注意 :every() 不会改变原始数组。
var person = [{
name: 'aa',
age: 18
}, {
name: 'bb',
age: 19
}, {
name: 'cc',
age: 20
}, {
name: 'dd',
age: 21
}]
var res = person.every(function (item) {
return item.age >= 18;
})
console.log(res);
console.log(res ? '全部成年' : '有未成年');
5.some()是只要有一个元素满足条件返回 true,全部元素都不满足返回false;
some() 方法用于检测数组中的元素是否满足指定条件( 函数提供)。
some() 方法会依次执行数组的每个元素
如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测。
如果没有满足条件的元素,则返回false。
6.reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。
语法:array.reduce(function(acc,currentValue,currentIndex,array){
return acc+ currentValue;
},initialValue)
形参表示意思:
acc表示初始值,用于计算返回值;(必选)
currentValue 表示当前值 (必选)
currentIndex 表示当前索引(可选)
array 表示当前的数组 (可选)
initialValue表示 传递给函数的初始值(可选),不写默认是total = 0
7.map()方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。
一般对数组的每一个元素进行相同的运算时会比较方便;
var res = arr1.map(function (item) {
return item * 10 + 'px'
})
console.log(res);
8.forEach()方法:数组每个元素都执行一次回调函数,遍历数组的每一个元素;
注意: forEach循环回调函数中, 不可以return出一个值,但是可以使用 return去终止方法的执行
var sum = 0;
var res = arr1.forEach(function (item, index, arr) {
console.log(item);
sum += item;
})
console.log(sum);
9.findIndex() 返回第一个满足条件的值的 索引
let arr2 = [1, 3, 5, 7];
var res = arr2.findIndex(function (item) {
return item > 3;
})
console.log(res); //--> 2
10.from() 方法用于通过拥有 length 属性的对象或可迭代的对象来返回一个数组。
如果对象是数组返回 true,否则返回 false。