JavaScript Array 技巧
filter():返回该函数会返回true的项组成的数组
var num = [,,,,];
var result = num.filter(function(item,index,array){
return (item > );
})
console.log(result);//[3]
map():返回每次调用结果组成的数组
var num = [,,,,];
var result = num.map(function(item,index,array){
return (item > );
})
console.log(result);// [false,false,true,false,false]
reduce():迭代从数组的第一项到最后一项
//求和
var val = [1, 2, 3]
var sum = val.reduce(function(pre, cur, index, array) {
return pre + cur;
})
console.log(sum); // //数组扁平化
var arr = [
[0, 1],
[2, 3],
[4, 5]
].reduce(function(pre, cur) {
return a.concat(b);
});
// arr 为 [0, 1, 2, 3, 4, 5]
sort:对数组的元素进行排序。
var mymarry = [, , , , -];
var sortAsc = function(x, y) {
return x - y;
};
var sortDesc = function(x, y) {
return y - x;
};
mymarry.sort(sortAsc); //正序
mymarry.sort(sortDesc); //倒序
.indexOf():从数组开头开始向后查,返回查找的项在数组中的位置,没有找到返回-1。
//数组去重 start
function unique(arr) {
var result = [];
for (var i = ; i < arr.length; i++) {
if (result.indexOf(arr[i]) == -) result.push(arr[i]);
}
return result;
}
数组中对应的每一项相加
var list = [{
number: [1, 2, 3, 4]
}, {
number: [1, 2, 3, 4, 5]
}, {
number: [1, 2, 3, 4]
}, {
number: [1, 2, 3, 4, 5]
}];
var arr = [];
for (var i in list) {
if (arr.length) {
for (var x in list[i].number) {
if (!arr[x]) {
arr[x] = 0;
}
arr[x] = arr[x] + list[i].number[x];
}
} else {
arr = list[i].number;
}
}
console.log(arr);
参考:https://segmentfault.com/a/1190000003977377
给出一篇对Array操作很全的文章:http://www.cnblogs.com/onepixel/p/5123115.html
JavaScript Array 技巧的更多相关文章
- javascript实用技巧、javascript高级技巧
字号+作者:H5之家 来源:H5之家 2016-10-31 11:00 我要评论( ) 三零网提供网络编程. JavaScript 的技术文章javascript实用技巧.javascript高级技巧 ...
- 12个非常实用的JavaScript小技巧
在这篇文章中将给大家分享12个有关于JavaScript的小技巧.这些小技巧可能在你的实际工作中或许能帮助你解决一些问题. 使用!!操作符转换布尔值 有时候我们需要对一个变量查检其是否存在或者检查值是 ...
- 一些JavaScript的技巧、秘诀和最佳实践
文章分享一些JavaScript的技巧.秘诀和最佳实践,除了少数几个外,不管是浏览器的JavaScript引擎,还是服务器端JavaScript解释器,均适用. 本文中的示例代码,通过了在Google ...
- javascript小小技巧
JS的一些小技巧,我主要是做后台的(.NET),前端知识了解得不多,经验非常有限,不过还是经常写JS代码,对前端有着浓厚的兴趣,特喜欢js这门语言,虽然很多人喷它,但还是很喜欢Js.下面说说项目中我经 ...
- 11个不常被提及的JavaScript小技巧
这次我们主要来分享11个在日常教程中不常被提及的JavaScript小技巧,他们往往在我们的日常工作中经常出现,但是我们又很容易忽略. 1.过滤唯一值 Set类型是在 ES6中新增的,它类似于数组,但 ...
- [转]11个教程中不常被提及的JavaScript小技巧
原文地址: https://www.cnblogs.com/ld1024/p/10723827.html 这次我们主要来分享11个在日常教程中不常被提及的JavaScript小技巧,他们往往在我们的日 ...
- 11个教程中不常被提及的JavaScript小技巧
这次我们主要来分享11个在日常教程中不常被提及的JavaScript小技巧,他们往往在我们的日常工作中经常出现,但是我们又很容易忽略. 1.过滤唯一值 Set类型是在ES6中新增的,它类似于数组,但是 ...
- JavaScript 实用技巧和写法建议
1.前言 从大学到现在,接触前端已经有几年了,感想方面,就是对于程序员而言,想要提高自己的技术水平和编写易于阅读和维护的代码,我觉得不能每天都是平庸的写代码,更要去推敲,去摸索和优化代码,总结当中的技 ...
- 【前端】javaScript 常用技巧总结
javaScript 常用技巧总结 1. 彻底屏蔽鼠标右键 oncontextmenu="window.event.returnValue=false" <table b ...
随机推荐
- WEB中调用Nutch执行JOB抓取
参考:在Eclipse中运行Nutch 把nutch的源代码导入到eclipse工程自定义抓取任务. 下载源码: http://svn.apache.org/repos/asf/nutch/ 从svn ...
- mysql 常用命令集锦
Mysql安装目录数据库目录/var/lib/mysql/配置文件/usr/share/mysql(mysql.server命令及配置文件)相关命令/usr/bin(mysqladmin mysqld ...
- 北邮OJ
90. 字符串转换 时间限制 1000 ms 内存限制 65536 KB 题目描述 我们将仅由若干个同一小写字母构成的字符串称之为简单串,例如"aaaa"是一个简单串,而" ...
- Canada Cup 2016 C. Hidden Word
C. Hidden Word time limit per test 2 seconds memory limit per test 256 megabytes input standard inpu ...
- jquery 日期获取
来自:http://blog.csdn.NET/liujun198773/article/details/7554628 感谢 $(function(){ var mydate = new Date ...
- ACM 序号互换
序号互换 时间限制:1000 ms | 内存限制:65535 KB 难度:2 描述 Dr.Kong设计了一个聪明的机器人卡多,卡多会对电子表格中的单元格坐标快速计算出来.单元格的行坐标是由数字 ...
- 3997: [TJOI2015]组合数学
3997: [TJOI2015]组合数学 Time Limit: 20 Sec Memory Limit: 128 MBSubmit: 247 Solved: 174[Submit][Status ...
- C++ 带有指针成员的类处理方式
在一个类中,如果类没有指针成员,一切方便,因为默认合成的析构函数会自动处理所有的内存.但是如果一个类带了指针成员,那么需要我们自己来写一个析构函数来管理内存.在<<c++ primer&g ...
- markown编辑器截图粘贴预览,并将图片传至七牛云
最近在做一个项目,需要实现类似QQ截图后,就是能够在富文本编辑器中粘贴截图并预览. 先看一下效果: 分析一下实现步骤: QQ截图后在编辑器中粘贴,肯定会有一个粘贴事件,即 paste 事件 在事件回调 ...
- Android OkHttp使用与分析
安卓开发领域,很多重要的问题都有了很好的开源解决方案,例如网络请求 OkHttp + Retrofit 简直就是不二之选."我们不重复造轮子不表示我们不需要知道轮子该怎么造及如何更好的造!& ...