数组API之数组操作(filtermapsomeeverysort)

Posted 浮云随笔

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组API之数组操作(filtermapsomeeverysort)相关的知识,希望对你有一定的参考价值。

var arr = [1,2,3,4];
 
forEach
arr.forEach((item,index,arr) => {
    console.log(item) //结果为1,2,3,4
})

filter

//filter过滤掉数组中不满足条件的值,返回一个新数组,不改变原数组的值。
var c=arr.filter((item,index,arr) => {
return item > 2 //新数组为[3,4] 过滤满足条件的项返回新数组
})

map

var d=arr.map((item,index,arr)=>{
return item*3;//遍历每一项进行操作后返回
})

some 

var e=arr.some((item,index,arr)=>{
return item>3;//只要满足就返回true,终止循环
});

every 

var f=arr.every((item,index,arr) => {
return item > 0 //结果为false
})
//遍历数组每一项,每一项返回true,则最终结果为true。当任何一项返回false时,停止遍历,返回false。不改变原数组
console.log(c,d,e);

sort 

对于两个元素x和y,如果认为x < y,则返回-1,如果认为x == y,则返回0,如果认为x > y,则返回1
// 看上去正常的结果: [‘Google‘, ‘Apple‘, ‘Microsoft‘].sort();
// [‘Apple‘, ‘Google‘, ‘Microsoft‘];
// apple排在了最后: [‘Google‘, ‘apple‘, ‘Microsoft‘].sort();
// [‘Google‘, ‘Microsoft", ‘apple‘]
// 无法理解的结果: [10, 20, 1, 2].sort();
// [1, 10, 2, 20]
根据相应的ASCII码进行排序,而小写字母a的ASCII码在大写字母之后
 
不过sort也是一个高阶函数,可以通过自定义,通过接收一个比较函数来实现自定义排序规则
var arr = [‘Google‘, ‘apple‘, ‘Microsoft‘];
arr.sort(function (s1, s2) {
    x1 = s1.toUpperCase();
    x2 = s2.toUpperCase();
    if (x1 < x2) {
        return -1; // x < y
    }
    if (x1 > x2) {
        return 1; // x > y
    }
    return 0; // x == y
}); // [‘apple‘, ‘Google‘, ‘Microsoft‘]

  

以上是关于数组API之数组操作(filtermapsomeeverysort)的主要内容,如果未能解决你的问题,请参考以下文章

一脚踩进java之基础篇28——常用API(Arrays类,大数据运算)

一脚踩进java之基础篇28——常用API(Arrays类,大数据运算)

js基础复习---数组操作

js简单的API之数组篇

ES6知识点整理之----数组扩展----API新增

Java常用类之数组工具类Arrays