javascript数组浅谈3

前两节说了数组最基本的创建,队列方法,排序和一些操作方法,这节说说迭代和归并方法。

    every()方法 & some()方法

这两个方法会对数组中的每一项运行给定函数,然后返回一个布尔值,理解起来可以当成everyone和someone的区别来理解,看个例子就好了:

var  arr=[1,2,3,4,5];
var everyResult=arr.every(function(item,index,arr){

      return (item>2);
})        //false
var someResult=arr.some(function(item,index,arr){

       return (item>2);
})        //true

两个方法都执行一个函数,函数的第一个参数表示迭代的每个数组元素,第二个参数表示下标,第三个参数表示该数组。

    filter()方法

1 var arr=[1,2,3,4,5]
2 var filterResult=arr.filter(function(item,index,arr){
3        return (item>2)
4 })    //[3,4,5]

该方法对数组中每一项执行给定函数,返回该函数会返回true的项所组成的数组。

    map()方法 & forEach()方法

map()返回每次函数调用的结果组成的数组,forEach()则没有返回值。

1 var arr=[1,2,3,4,5]
2 var mapResult=arr.map(function(item,index,arr){
3        return item*2
4 })    //[2,4,6,8,10]
5 var forResult=arr.forEach(function(item,index,arr){
6        //可执行一些操作
7 })    //undefined

forEach()本质上与使用for循环迭代数组一样。

    reduce()方法 & reduceRight()方法

1 var arr=[1,2,3];
2 arr.reduce(function(x,y,index,arr){
3
4       return x+y
5 },0);    //6

这两个方法都有两个参数,第一个是一个要执行的回调函数,第二个表示要作为归并基础的初始值(可选)。

    indexOf()方法 & lastIndexOf()

1 var arr=[1,2,3,4,5];
2 arr.indexOf(1,-1);    //-1
3 arr.lastIndexOf(1,-1)    //0

接收两个参数,第一个表示要查找的元素,第二个表示开始位置,如果有则返回该元素在该数组中的位置下标,没有则返回-1

    数组大概就总结这么多,同时数组也是对象,以后会在对象的学习总结中再来探讨。

时间: 2024-10-10 07:05:19

javascript数组浅谈3的相关文章

javascript数组浅谈1

最近心血来潮要开始玩博客了,刚好也在看数组这块内容,第一篇就只好拿数组开刀了,自己总结的,有什么不对的地方还请批评指正,还有什么没写到的方面也可以提出来我进行完善,谢谢~~ 首先,大概说说数组的基本用法. 数组,即Array类型,是开发中最常用的类型之一,javascript中的数组和其他语言最大的区别就是每一项可以保存任何类型的数据,而且数组的大小是可以动态调整的,有点绕?看看代码吧 1.数组的创建: var arr=new Array(20); var arr1=["小伞",1,t

javascript数组浅谈2

上次说了数组元素的增删,的这次说说数组的一些操作方法 join()方法: 1 var arr=[1,2,3] 2 arr.join("_") //1_2_3 join方法会返回一个由数组中每个值的字符串形式拼接而成的一个以join方法参数为连接符的字符串,join方法参数如果为空则以逗号连接,和toString()方法得到的值相似. reverse()方法: 1 var arr=[2,1,3]; 2 arr.reverse(); //arr=[3,1,2] reverse()方法会使数

JavaScript对象浅谈

JavaScript对象 对象 ECMA-262 把对象(object)定义为"属性的无序集合,每个属性存放一个原始值.对象或函数".严格来说,这意味着对象是无特定顺序的值的数组. 对象是属性和方法的无序集合 对象就是无序属性的集合 尽管 ECMAScript 如此定义对象,但它更通用的定义是基于代码的名词(人.地点或事物)的表示. 在JavaScript中,除了数字.字符串.布尔值.null.undefined这五种原始类型,之外的都是对象,也就是印证了"万物皆对象&quo

JavaScript闭包浅谈

------------------- 作者:willingtolove: 本文链接:http://www.cnblogs.com/willingtolove/p/4745889.html 1. 变量的作用域: 在javascript中,局部变量的作用域是由它定义的函数决定的,嵌套函数可以访问它的外部作用域的变量. EX1: 1 function hello() { 2 var name = "world"; 3 function hi() { 4 alert(name); 5 } 6

Js之浅谈dom操作

JavaScript之浅谈dom操作 1.理解dom: DOM(Document Object Model ,文档对象模型)一种独立于语言,用于操作xml,html文档的应用编程接口. 怎么说,我从两个角度理解: 对于JavaScript,为了能够使JavaScript操作Html,JavaScript就有了一套自己的dom编程接口. 对于Html,dom使得html形成一棵dom树,类似于一颗家族树一样,一层接一层,子子孙孙. 所以说,有了DOM,在我看来就是相当于JavaScript拿到了钥

JavaScript 数组去重

JavaScript 数组去重 Why underscore (觉得这部分眼熟的可以直接跳到下一段了...) 最近开始看 underscore.js 源码,并将 underscore.js 源码解读 放在了我的 2016 计划中. 阅读一些著名框架类库的源码,就好像和一个个大师对话,你会学到很多.为什么是 underscore?最主要的原因是 underscore 简短精悍(约 1.5k 行),封装了 100 多个有用的方法,耦合度低,非常适合逐个方法阅读,适合楼主这样的 JavaScript

浅谈 JavaScript 编程语言的编码规范

对于熟悉 C/C++ 或 Java 语言的工程师来说,JavaScript 显得灵活,简单易懂,对代码的格式的要求也相对松散.很容易学习,并运用到自己的代码中.也正因为这样,JavaScript 的编码规范也往往被轻视,开发过程中修修补补,最终也就演变成为后续维护人员的恶梦.软件存在的长期价值直接与编码的质量成比例.编码规范能帮助我们降低编程中不必要的麻烦.而 JavaScript 代码是直接发送给客户浏览器的,直接与客户见面,编码的质量更应该受到关注. 本文浅谈 JavaScript 编程中关

JavaScript中toStirng()与Object.prototype.toString.call()方法浅谈

toStirng()与Object.prototype.toString.call()方法浅谈 一.toString()是一个怎样的方法?它是能将某一个值转化为字符串的方法.然而它是如何将一个值从一种类型转化为字符串类型的呢? 通过下面几个例子,我们便能获得答案: 1.将boolean类型的值转化为string类型: console.log(true.toString());//"true" console.log(false.toString());//"false&quo

《浅谈JavaScript系列》系列技术文章整理收藏

<浅谈JavaScript系列>系列技术文章整理收藏 1浅谈JavaScript中面向对象技术的模拟 2浅谈javascript函数劫持[转自xfocus]第1/3页 3浅谈javascript 面向对象编程 4老鱼 浅谈javascript面向对象编程 5浅谈javascript的数据类型检测 6浅谈Javascript嵌套函数及闭包 7根据一段代码浅谈Javascript闭包 8浅谈JavaScript编程语言的编码规范 9浅谈Javascript面向对象编程 10浅谈JavaScript