数组API之数组操作(filter、map、some、every、sort)

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‘]

  

原文地址:https://www.cnblogs.com/fuGuy/p/9208870.html

时间: 2024-10-17 04:19:21

数组API之数组操作(filter、map、some、every、sort)的相关文章

js数组中的find、filter、forEach、map四个方法的详解和应用实例

1.find():返回通过测试的数组的第一个元素的值: 在第一次调用 callback 函数时会确定元素的索引范围,因此在 find 方法开始执行之后添加到数组的新元素将不会被 callback 函数访问到.如果数组中一个尚未被callback函数访问到的元素的值被callback函数所改变,那么当callback函数访问到它时,它的值是将是根据它在数组中的索引所访问到的当前值.被删除的元素仍旧会被访问到. 语法: array.find(function(value, index, arr),t

js中数组API以及ES6总结

1. 数组API2. ES6: 1. 数组API: 遍历: 对数组中每个元素执行相同的操作 arr.forEach(): 对原数组中每个元素执行相同的操作 arr.forEach(function(elem,i,arr){ //对当前元素执行操作,并保存回原数组的当前位置}) arr.map(): 复制出原数组中每个元素,执行相同操作后,放入新数组返回.原数组保持不变. var newArr=arr.map(function(elem,i,arr){ return 新值}) 过滤和汇总: 过滤:

js手写数组Api--模拟实现常见数组Api

数组的API经常用,但是api的内部实现还没研究过,于是就研究学习了下. 原文地址: https://www.cnblogs.com/yalong/p/11606865.html 数组的API的具体使用方看这里 API详细用法本文记录了数组中的 every,filter, find , indexOf, forEach, from, includes, isArray, map, reduce,slice,splice, sort这些个API的实现,如有不当,欢迎指出. Every 定义和用法:

[java学习笔记]java语言基础概述之数组的定义&amp;常见操作(遍历、排序、查找)&amp;二维数组

1.数组基础 1.什么是数组:           同一类型数据的集合,就是一个容器. 2.数组的好处:           可以自动为数组中的元素从零开始编号,方便操作这些数据. 3.格式:  (一旦创建,必须明确长度)          格式1:              元素类型   [ ]  数组名  =  new  元素类型  [元素个数即数组的长度]:              示例:int[] array = new int[5];          格式2:           

JavaScript中对数组和数组API的认识

JavaScript中对数组和数组API的认识 一.数组概念: 数组是JavaScript中的一类特殊的对象,用一对中括号“[]”表示,用来在单个的变量中存储多个值.在数组中,每个值都有一个对应的不重复的索引值.自动匹配索引值的数组称为索引数组,自定义索引值的数组称为关联数组(又叫哈希数组).以下均研究索引数组. 二.创建数组: 使用数组之前首先都要先创建并赋值给一个变量,创建数组有两种不同的方法. 1.调用构造函数Array()创建数组,索引数组索引值都从0开始 eg:var arr=New

数组Array、数组API

1.数组:批量管理多个数据的存储空间. 数组的作用:现实中,批量管理多个数据都是集中分组存放,良好的数据结构,可极大提高程序的执行效率! 优点:方便查找 2.创建数组:(4种方式) (1)var 变量名=[]; 创建一个空数组 何时使用:暂时不知道数组中的元素内容时(2)var 变量名=[值1,值2,...]; -->创建数组同时,初始化数组中的数据(3)var 变量名=new Array(); 创建一个空数组 new:在window之外,创建一个新空间,保存多个数据 返回新空间的地址! 注意:

checkbox中jQuery对数组和对象的操作

------------------------------------------------------------------------------------------ 来段小例子,jQuery实现对表单中checkbox的全选/取消/反选 [email protected] <www.chenwei.ws>--------------------------- <input type="checkbox" class="all" /&

js中的数组api

数组对象的3个属性 1.length 属性 Length属性表示数组的长度,即其中元素的个数.因为数组的索引总是由0开始,所以一个数组的上下限分别是:0和length-1.和其他大多数语言不同的是,JavaScript数组的length属性是可变的,这一点需要特别注意.当length属性被设置得更大时,整个数组的状态事实上不会发生变化,仅仅是length属性变大:当length属性被设置得比原来小时,则原先数组中索引大于或等于length的元素的值全部被丢失.下面是演示改变length属性的例子

JS数组(Array)操作汇总

1.去掉重复的数组元素.2.获取一个数组中的重复项.3.求一个字符串的字节长度,一个英文字符占用一个字节,一个中文字符占用两个字节.4.判断一个字符串中出现次数最多的字符,统计这个次数.5.数组排序. 6.快排. 7.删除/添加数组项. 8.数组随机顺序输出. 9.数组求和.最大值. 10.判断是否为数组. 11.冒泡排序. 1.去掉重复的数组元素. Array.prototype.unique = function() { var ret = []; var o = {}; for(var i