携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第28天,点击查看活动详情
sort()(续)
当我们在其中传递参数时,我们可以自定义排序方法,这里我们先用冒泡排序法封装一个函数,如:
var array1 = [3, 2, 5, 1, 4];
var array2 = array1.sort(function (m, n) {
return m - n;//冒泡排序法从小到大排序
});
console.log(JSON.stringify(array2));//[1,2,3,4,5]
console.log(JSON.stringify(array1));//[1,2,3,4,5]
看到这里,我们会发现原数组竟然被改变了,没错,sort方法其实是会改变原数组的,至于其中的函数function,我们以后再讲。
数组元素的查找
| 方法 | 描述 | 备注 |
|---|---|---|
indexOf() | 略 | |
lastIndexOf() | 略 | |
includes() | 略 | |
find(function()) | 找出第一个满足function函数括号里条件返回值为ture的元素 | |
findIndex(function()) | 找出第一个满足function函数括号里条件返回值为ture的元素的索引值 | |
every() | 要求每个数组元素都要满足括号里条件的返回值为true时才停止遍历,当每个都返回为true时,整个方法才返回为true | 联想逻辑与运算符 |
some() | 要求只要有一个数组元素满足括号里条件的返回值为true时就停止遍历,整个方法就返回ture | 联想逻辑或运算符 |
前面三个方法之前讲过,这里不再赘述。
find(function())
这个方法也用到了函数,要求找出第一个能够使得function()返回值为true的数组元素,并返回这个数组元素,如:
var array1 = [3, 2, 5, 1, 4];
var num1 = array1.find(function (a) {
return a > 1;
});
var num2 = array1.find(function (a) {
return a > 4;
});
console.log(num1, num2);//3 5
解释:因为3是第一个大于1的数组元素,所以返回3;5是第一个大于4的数组元素,所以返回5。
findIndex(function())
这个方法和find(function())类似,只不过这个是找出索引值,还是用上面的例子,如:
var array1 = [3, 2, 5, 1, 4];
var num1 = array1.findIndex(function (a) {
return a > 1;
});
var num2 = array1.findIndex(function (a) {
return a > 4;
});
console.log(num1, num2);//0 2