Array 使用方法小计
用于检测数组所有元素是否都符合指定条件 every
every() 方法使用指定函数检测数组中的所有元素:
如果数组中检测到有一个元素不满足,则整个表达式返回 false ,且剩余的元素不会再进行检测。
如果所有元素都满足条件,则返回 true。
注意: every() 不会对空数组进行检测。
注意: every() 不会改变原始数组。
var arr = [11, 22, 44, 55, 55]
var result = arr.every(function (item,index) {
return item > 10 // 通过条件判断返回true/false。 false不会继续执行。
// return truel; 这样也可以,直接返回 true
// return false; 直接返回 false
})
console.log(result) // 结果只有true/false。只有全部满足条件才会返回true,否则就返回false。
检查指定数组中符合条件的所有元素 filter
filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。
注意: filter() 不会对空数组进行检测。
注意: filter() 不会改变原始数组。
var arr = [11, 22, 44, 55, 55]
var result = arr.filter(function (item, index) {
return item > 22; // [44, 55, 55] 返回满足条件的元素
// return true; // [11, 22, 44, 55, 55] 条件为真返回所有的元素
// return false; // [] 条件为假返回空数组
// 通过函数返回的true/false, 判断当前元素是否是满足条件的元素,满足则将当前元素返回到新的数组里面
})
console.log(result)
返回通过测试(函数内判断)的数组的第一个元素的值。find
find() 方法为数组中的每个元素都调用一次函数执行:
当数组中的元素在测试条件时返回 true 时, find() 返回符合条件的元素,之后的值不会再调用执行函数。
如果没有符合条件的元素返回 undefined
注意: find() 对于空数组,函数是不会执行的。
注意: find() 并没有改变数组的原始值。
使用方法同上,符合条件返回当前符合条件的值,没有则返回undefined
返回传入一个测试条件(函数)符合条件的数组第一个元素位置。findIndex
findIndex() 方法为数组中的每个元素都调用一次函数执行:
当数组中的元素在测试条件时返回 true 时, findIndex() 返回符合条件的元素的索引位置,之后的值不会再调用执行函数。
如果没有符合条件的元素返回 -1
注意: findIndex() 对于空数组,函数是不会执行的。
注意: findIndex() 并没有改变数组的原始值。
使用方法同上,符合条件返回当前元素的索引,没有则返回 -1
调用数组的每个元素,并将元素传递给回调函数。forEach
forEach() 对于空数组是不会执行回调函数的。
forEach()类似于for循环。
通过函数return为空,可以跳过当前元素的循环,执行下一个元素,类似for的continue 。
没有返回值,undefined。
var arr = [1, 2, 3, 4, 5];
var result = arr.forEach(function (item) { // 没有返回值,一般不会赋值使用,直接调用
if (item === 3) {
return; // 通过return为空,结束当前元素的循环,继续执行对下一个元素的操作。
}
console.log(11, item); // 1,2,4,5
});
console.log(22, result) // undefined 没有返回值
按照原始数组元素顺序依次处理元素。map
map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。
map() 方法按照原始数组元素顺序依次处理元素。
var arr = [1, 2, 3, 4, 5];
var result = arr.map(function (item, index) {
return item + 1; // return返回的值就是result接收的值
// return 1; // 会把数组遍历一次,每次结果都是1
// return; // return不写会返回undefined
});
console.log(result) // [2, 3, 4, 5, 6]
// console.log(result) // [1, 1, 1, 1, 1]
// console.log(result) // [undefined, undefined, undefined, undefined, undefined]
接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。reduce
reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。
reduce() 可以作为一个高阶函数,用于函数的 compose。
注意: reduce() 对于空数组是不会执行回调函数的。
var arr = [1, 2, 3, 4, 5];
var result = arr.reduce(function (total, currentValue) {
// 第一次的total为数组的第一个元素也就1
// 第二次之后每次的total都是上一次return返回的值
return total + currentValue; // 1 3 6 10 15
// return 2;
});
console.log(result) // 15
// console.log(result) // 2
用于检测数组中的元素是否满足指定条件(函数提供)。some
some() 方法用于检测数组中的元素是否满足指定条件(函数提供)。
some() 方法会依次执行数组的每个元素:
如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测。
如果没有满足条件的元素,则返回false。
注意: some() 不会对空数组进行检测。
注意: some() 不会改变原始数组。
var arr = [1, 2, 3, 4, 5];
var result = arr.some(function (item) {
return false; // 通过return 的 true/false 返回最后的结果,和every的区别在于有一个true就返回true
});
console.log(result)
用于添加或删除数组中的元素。splice
splice() 方法用于添加或删除或替换数组中的元素。
注意:这种方法会改变原始数组
var arr = [1, 2, 3, 4, 5];
// 删除
// var result = arr.splice(2,1); // 第一个参数,从数组的第几个开始;第二个参数,操作几个元素 0 代表没有, 1 代表从当前的位置操作一个元素,
// console.log(result); // 返回删除的元素,[3]
// console.log(arr); // 原始的数组删除当前元素 [1, 2, 4, 5]
// 替换
// var result = arr.splice(2, 1, 66);
// console.log(result); // 返回删除的元素,[3]
// console.log(arr); // 原始的数组删除之后会添加一个新增的元素 , [1, 2, 66, 4, 5]
// 新增
// var result = arr.splice(2, 0, 88);
// console.log(result); // 返回删除的元素,没有删除任何元素,返回[]
// console.log(arr); // 原始的数组会在当前元素之前添加一个新增的元素 , [1, 2, 88, 3, 4, 5]
对数组的元素进行排序。sort
sort() 方法用于对数组的元素进行排序。
排序顺序可以是字母或数字,并按升序或降序。
默认排序顺序为按字母升序。
注意:当数字是按字母顺序排列时"40"将排在"5"前面。
使用数字排序,你必须通过一个函数作为参数来调用。
函数指定数字是按照升序还是降序排列。
这些说起来可能很难理解,你可以通过本页底部实例进一步了解它。
注意: 这种方法会改变原始数组!。
var arr = [6, 2, 3, 4, 5];
var result = arr.sort(function (a, b) { // a为每次比较的后者b为前者 在本数组中 a,b第一次分别是2,1
console.log(a, b)
console.log(a - b)
return a - b; // 升序
// return b - a; // 降序
});
console.log(result);
标签:返回,arr,return,元素,小计,js,result,数组
From: https://www.cnblogs.com/lixiaotian/p/17064638.html