每个JavaScript程序员都需要知道的5个数组方法

Array.forEach()

.forEach() 方法能够方便的让你 遍历数组里的每个元素,你可以在回调函数里对每个元素进行操作。.forEach()方法没有返回值,你不需要在回调函数里写return,这是无意义的。

var animals = [‘dog‘, ‘cat‘, ‘mouse‘];

animals.forEach(function(item){
    console.log(item);
});

Array.map()

.map() 方法能够遍历整个数组,然后 返回一个新数组,这个新数组里的元素是经过了指定的回调函数处理过的。

如果你想修改数组里的每个元素,然后将修改后的数组存入新的数组,那使用 .map() 方法最方便。

var numbers = [2, 4, 6, 8];

var doubleNums = numbers.map(function(element) {
    return element * 2;
});

console.log(‘doubleNums: ‘, doubleNums)

Array.filter()

.filter() 方法能够 过滤掉数组中的某些元素,你可以在回调函数里设定条件,不符合条件的元素都会排除在外。

var scores = [3, 12, 5, 23, 19, 7];

var topScores = scores.filter(function(item){
    if (item > 10){
        return true;
    } else {
        return false;
    }
});

console.log(‘topScores: ‘, topScores);

Array.indexOf()

indexOf() 能够告诉你 某个元素在数组中的位置,它返回的是索引值,如果数组里有重复的元素,它会返回第一个元素的位置。

var a = [2, 9, 9, 18];

var i = a.indexOf(9);

console.log(‘i: ‘, i);

/*
if (a.indexOf(7) === -1) {
  // 数组中没有这个元素
}*/

Array.every()

.every() 方法的作用是用指定的回调函数去检查数组中的每个元素,如果对于每个元素,这个回调函数都返回true,则.every()返回true。否则,.every() 返回false。

如果你想知道数组中的所有元素都是否符合某种条件,使用 .every() 最方便。

var ages = [23, 19, 32, 44];

var olderThan18 = ages.every(function(element) {
    return element > 18;
});

console.log(‘olderThan18: ‘, olderThan18);

上面的这5个方法只是很多JavaScript方法中关于数组的最重要的几个,还有很多关于数组的方法、工具包(lodash and underscore)等都非常的有用。

时间: 2024-10-13 03:11:45

每个JavaScript程序员都需要知道的5个数组方法的相关文章

每个程序员都该知道的10大编程格言

每个程序员都该知道的10大编程格言 编程格言1:无风不起浪 (There is no smoke without fire) 编程格言2:预防为主,治疗为辅(An ounce of prevention is worth a pound of cure:) 编程格言3:不要把鸡蛋都放在一个篮子(Don't put all your eggs in one basket) 编程格言4:种瓜得瓜,种豆得豆(As you sow,so shoul you reap) 编程格言5:欲速则不达(Great

每个程序员都该知道的10大编码原则

回顾我的职业生涯,我曾自己单枪匹马地干过,也和一些特别有才能的人一起共事过,曾解决过一些非常严重的技术难题,也见识过一些鼎鼎大名的技术公司.近期我和我的团队偶然聊起我的这些经历,谈论的成果是我们在编码时应该知道一些原则.这不是规矩,也不是指导方针.它们只是我在编写和运行代码时总结出来的一些需要注意的原则. 1.偏执 这一点与我而言几乎是天生的.我几乎是靠自学才成为了程序员. 我从不相信电脑,也不相信我刚刚修复的bug真的已经修复好了,总之我不相信任何东西.我甚至连自己都不相信.除非多次检验之后,

凤凰大厅源码代理每个程序员都该知道的 5 个定律

定律或称法则,可以指导我们并让我们在同伴的错误中学习.凤凰大厅源码代理(h5.hxforum.com)联系方式170618633533企鹅2952777280 (http://yhgj8004.com) 源码出售 房卡出售 后台出租有意者私聊扣扣 这篇文章中,我将介绍我每次设计或实现软件时出现在我脑海的 5 个定律.其中有些和开发有关,有些和系统组织有关.它们可以帮助你成为合格的软件工程师. 墨菲定律 "凡事可能出错,就一定出错."这条定律来源于 Edward Murphy -- 一名

每个程序员都应该知道的 16个最佳 PHP 库

PHP是一种功能强大的web站点脚本语言,通过PHP,web网站开发者可以更容易地创建动态的引人入胜的web页面.开发人员可以使用PHP代码与一些网站模板和框架来提升功能和特性.然而,编写PHP代码是一个繁琐又耗时的过程.为了缩短开发时间,开发人员可以用PHP库替代编写代码来为站点添加功能. 使用PHP库来取代编写代码,可以显着地降低网站的开发时间,从而开发人员可以将时间投入到网站设计等重要环节. 今天我们要介绍的就是16个最佳的PHP库,它们将帮助网站开发人员轻松提高网站的功能,优化PHP的开

每个php程序员都应该知道的15个最佳PHP库

PHP是一种功能强大的web站点脚本语言,通过PHP,web网站开发者可以更容易地创建动态的引人入胜的web页面.开发人员可以使用PHP代码与一些网站模板和框架来提升功能和特性.然而,编写PHP代码是一个繁琐又耗时的过程.为了缩短开发时间,开发人员可以用PHP库替代编写代码来为站点添加功能. 使用PHP库来取代编写代码,可以显着地降低网站的开发时间,从而开发人员可以将时间投入到网站设计等重要环节. 今天我们要介绍的就是15个最佳的PHP库,它们将帮助网站开发人员轻松提高网站的功能,优化PHP的开

程序员最应该知道的20件事

摘要:有人推崇产品,有人推崇运营,也有人推崇战略-到底该推崇什么?李智勇系统地分析了这三者之间的思路,并引用黑格尔的一句话,给出了自己的看法:在尺度中已经蕴含本质,这在产品.运营.战略的侧重上体现的非常好. 视野不拉升或者认知不深入时,就容易在盲人摸象层面上反复,看到微信火了,那就产品最重要,看到阿里火了,那就平台最重要.实际上一个比较显然的事实是,没有锥子一样的产品,那你就火不起来:不能从产品升级为平台,那就很可能活不下去.当然,有些人会说平台也是一种产品,但就和人与猴子都是灵长目,实际上仍是

每个程序员都必读的12篇文章

英文原文:10 Articles Every Programmer Must Read 作为一名 Java 程序员和软件开发人员,那些每个程序员都应该知道的 XXX 的文章教会了我不少东西,它们提供了某个特定领域的一些实用的并且有深度的信息,这些东西通常很难找到.在我学习的过程中我读到过许多非常有用的文章,我把它们添加到了书签里,方便以后阅读或者引用.我个人认为所有开发人员都能从这些文章中受益,因此我也写了篇"每个程序员都应该了解的"文章,准备分享给你们.这是我的个人收藏.在这篇文章中

每个程序员都必读的10篇文章

作为一名Java程序员和软件开发人员,那些每个程序员都应该知道的XXX的文章教会了我不少东西,它们提供了某个特定领域的一些实用的并且有深度的信息,这些东西通常很难找到.在我学习的过程中我读到过许多非常有用的文章,我把它们添加到了书签里,方便以后阅读或者引用.我个人认为所有开发人员都能从这些文章中受益,因此我也写了篇“每个程序员都应该了解的”文章,准备分享给你们.这是我的个人收藏.在这篇文章中,你会看到每个程序员都应该了解的一些经典文章,涵盖了内存,unicode,浮点数,网络,面向对象设计,时间

程序员都不知道的5种将死的编程语言

现在的开发人员都趋向于使用新的编程语言,那么旧的编程语言呢?它们的前途一般是这样两种:仍然可以使用,但逐渐不受大家欢迎,直接完全死去.程序员都不知道的5种将死的编程语言下面给大家说说: Perl 曾几何时,几乎每个人都在使用Perl语言编程.但是那些经常使用的人慢慢地发现,关于这个Perl语言似乎总是有点不对劲.至少我知道有这么个叫做"piecemeal"的编程语言,它的创造者似乎就只是将这个功能堆在另一个功能上面而已,并没有好好考虑将它们结合在一起.事实上,甚至是它的创造者也不得不承