js有关数组的函数
map()和filter()函数
js的数组迭代器函数map和filter,可以遍历数组时产生新的数组,和python的map函数很类似
1)filter是满足条件的留下,是对原数组的过滤(筛选);
2)map则是对原数组的加工,映射成一一映射的新数组(形成新数组)
例如:var arr=[1,2,3,4]
arr1=arr.map(function(item){
return item%2
)
arr1=[1,0,1,0]
arr2=arr.filter(function(item){
return item%2
})
arr2=[1,3]
some()和evert()函数
every()与some()方法都是JS中数组的迭代方法。(在实际运用中,可以配合if灵活使用)
1)every()是对数组中的每一项运行给定函数,如果该函数对每一项返回true,则返回true(每一项,只要出现一项为false,则停止并且返回false)。
2)some()是对数组中每一项运行指定函数,如果该函数对任一项返回true,则返回true。(只要有一项返回true,则停止并且返回true)
例如:
if (!list.some(function(item, key){
var b = item.goods_id == goods.goods_id;
if (b) {index = key}
return b
})) {
list.push({
add_num: 1,
goods: goods,
storeGoods: goods.storeGoodsList[0]
})
} else {
list[index].add_num ++;
}
用法:
reduce()函数
reduce()可以实现一个累加器的功能,将数组的每个值(从左到右)将其降低到一个值。
reduce(function(前一个值,当前值,数组索引,数组){
})
var arr = [1, 2, 3, 4]
var sum = arr.reduce(function (previous, current, index, array) {
return previous + current;
}); console.log(sum); //
js有关数组的函数的更多相关文章
- js 数组处理函数
本文转载自有有<js 数组处理函数> concat 将参数列表连接到原数组后面形成一个新的数组并返回,原有数组不受影响. var arr = ["a","b& ...
- js对数组的操作函数
js数组的操作 用 js有很久了,但都没有深究过js的数组形式.偶尔用用也就是简单的string.split(char).这段时间做的一个项目,用到数组的地方很多, 自以为js高手的自己居然无从下手, ...
- JS分割字符串并放入数组的函数
JS分割字符串并放入数组的函数: var InterestKeywordListString = $("#userInterestKeywordLabel").html(); v ...
- Js中常用的字符串,数组,函数扩展
由于最近辞职在家,自己的时间相对多一点.所以就根据prototytpeJS的API,结合自己正在看的司徒大神的<javascript框架设计>,整理了下Js中常用一些字符串,数组,函数扩展 ...
- js经典试题之数组与函数
js经典试题之数组与函数 1:列举js的全局函数? 答案:JavaScript 中包含以下 7 个全局函数escape( ).eval( ).isFinite( ).isNaN( ).parseFlo ...
- js如何判断一个对象是数组(函数)
js如何判断一个对象是数组(函数) 1.typeof操作符 示例: // 数值 typeof 37 === 'number'; // 字符串 typeof '' === 'string'; // 布 ...
- JS数组at函数(获取最后一个元素的方法)介绍
本文介绍js中数组的at函数,属于比较简单的知识普及性文章,难度不大. 0x00 首先,我们可以思考如下一个问题,如果要获取一个数组的最后一个元素(这是很常用的操作),我们应该怎么做? 相信大部分人能 ...
- JS对象 JavaScript 中的所有事物都是对象,如:字符串、数值、数组、函数等,每个对象带有属性和方法。
什么是对象 JavaScript 中的所有事物都是对象,如:字符串.数值.数组.函数等,每个对象带有属性和方法. 对象的属性:反映该对象某些特定的性质的,如:字符串的长度.图像的长宽等: 对象的方法: ...
- JS魔法堂:函数重载 之 获取变量的数据类型
Brief 有时我们需要根据入参的数据类型来决定调用哪个函数实现,就是说所谓的函数重载(function overloading).因为JS没有内置函数重载的特性,正好给机会我们思考和实现一套这样的机 ...
随机推荐
- Windows操作系统下SVN无法上传*.o文件
Windows操作系统下SVN无法上传*.o文件 2017年09月07日 10:14:49 yanlaifan 阅读数:834 摘自:https://blog.csdn.net/yanlaifan/ ...
- dotnet core 发布环境变量配置 dev/stage/prod
https://docs.microsoft.com/zh-cn/aspnet/core/fundamentals/environments?view=aspnetcore-2.2 https://d ...
- 【Web】Nginx下载与安装
Nginx介绍 Nginx ("engine x") 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器.Nginx是由Igor Sysoev为俄罗 ...
- crontab误删除
命令如下: cat /var/log/cron* | grep -i "`which cron`" > ./all_temp cat ./all_temp | grep -v ...
- 2018.10.19 NOIP模拟 比特战争(kruskal)
传送门 考完发现是sbsbsb题啊. 直接考虑优化状压的转移. 可以证明最优解一定在求最小生成树的时候取得. 因此再最小生成树时维护一下连通块的最值统计答案就行了. 代码
- 2018.09.30 bzoj2821: 作诗(Poetize)(分块)
传送门 分块经典题目. 先将数列分块. 然后预处理出每两个块之间有多少个数出现了正偶数次. 这样查询的时候对于中间的完整块直接用预处理出的数组搞定. 剩下的暴力枚举求解. 代码: #include&l ...
- 2018.06.30 BZOJ1026: [SCOI2009]windy数(数位dp)
1026: [SCOI2009]windy数 Time Limit: 1 Sec Memory Limit: 162 MB Description windy定义了一种windy数.不含前导零且相邻两 ...
- Redis java client ==> Jedis
https://github.com/xetorthio/jedis Jedis is a blazingly small and sane Redis java client. Jedis was ...
- QGIS 2014年7月18日版本
4. Building on Windows 4.1. Building with Microsoft Visual Studio This section describes how to buil ...
- Sensor Fusion-based Exploration in Home Environments using Information, Driving and Localization Gains(基于传感器融合的使用信息、驾驶和定位增益在家庭环境中的探索)
Authors: Joong-Tae Park, Jae-Bok Song Department:Department of Mechanical Engineering, Korea Un ...