`
2008winstar
  • 浏览: 60762 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
  • chenke: 写的很好,也可以看看那这个文章,我感觉学的还可以。http:/ ...
    HTML

JavaScript基础知识

 
阅读更多

 

现在应该使用的5个数组方法

 

ECMAScript 5 发布时,为数组提供了一些新的方法。然后,由于缺乏浏览器的支持,却迟迟未得到广泛的使用。

 

本文列举了9个ES5数组方法中的其中5个的使用方法和应用场景。

 

1)indexOf

 

indexOf()方法,返回指定元素在数组中首次出现的索引,如果在数组中未找到该元素,则返回-1。与字符串中的indexOf()方法类似。

 

使用场景:确认"orange"元素是否在数组中

不使用indexOf()的实现方法:

var arr = ['apple','orange','pear'],

found = false;

 

for(var i= 0, l = arr.length; i< l; i++){

if(arr[i] === 'orange'){

found = true;

}

}

 

console.log("found:",found);

 

使用indexOf()的实现方法:

var arr = ['apple','orange','pear'];

 

console.log("found:", arr.indexOf("orange") != -1);

 

2)filter()方法

filter()将通过测试条件的元素组成一个新的元素并返回,测试条件通过一个函数提供。

即对一个数组进行过滤,返回符合条件的元素;过滤掉不符合条件的元素。

 

使用场景:查找数组中所有name属性为"orange"的元素

不使用filter()的实现方法:

var arr = [

    {"name":"apple", "count": 2},

    {"name":"orange", "count": 5},

    {"name":"pear", "count": 3},

    {"name":"orange", "count": 16},

];

    

var newArr = [];

 

for(var i= 0, l = arr.length; i< l; i++){

    if(arr[i].name === "orange" ){

newArr.push(arr[i]);

}

}

 

console.log("Filter results:",newArr);

 

使用filter()的实现方法:

var arr = [

    {"name":"apple", "count": 2},

    {"name":"orange", "count": 5},

    {"name":"pear", "count": 3},

    {"name":"orange", "count": 16},

];

    

var newArr = arr.filter(function(item){

    return item.name === "orange";

});

 

 

console.log("Filter results:",newArr);

 

3)forEach()

forEach()在各个数组元素上执行一次操作,操作的具体内容由提供的函数指定。

 

使用场景:遍历数组

var arr = [1,2,3,4,5,6,7,8];

 

// Uses the usual "for" loop to iterate

for(var i= 0, l = arr.length; i< l; i++){

console.log(arr[i]);

}

 

console.log("========================");

 

//Uses forEach to iterate

arr.forEach(function(item,index){

console.log(item);

});

forEach()方法是对for循环的一个重要升级,如果只有一个方法可以使用,那就用forEach()方法吧。

 

使用for循环的一个常见的问题就是在for循环中声明的变量不只局限在循环块中,在与for循环在同一个作用域的其它代码可能受到影响。

 

注意:for循环在性能上优于forEach。

 

4)map()方法

map()方法,对数组的每个元素上执行一个函数,并将结果组成一个新的数组返回

 

使用场景:对一个对象数组进行解析,并返回一个包含新属性"full_name"的对象数组。

不使用map()方法:

var oldArr = [{first_name:"Colin",last_name:"Toh"},{first_name:"Addy",last_name:"Osmani"},{first_name:"Yehuda",last_name:"Katz"}];

 

function getNewArr(){

    

    var newArr = [];

    

    for(var i= 0, l = oldArr.length; i< l; i++){

        var item = oldArr[i];

        item.full_name = [item.first_name,item.last_name].join(" ");

        newArr[i] = item;

    }

    

    return newArr;

}

 

console.log(getNewArr());

 

使用map()方法的实现:

var oldArr = [{first_name:"Colin",last_name:"Toh"},{first_name:"Addy",last_name:"Osmani"},{first_name:"Yehuda",last_name:"Katz"}];

 

function getNewArr(){

        

    return oldArr.map(function(item,index){

        item.full_name = [item.first_name,item.last_name].join(" ");

        return item;

    });

    

}

 

console.log(getNewArr());

 

5)reduce()

reduce()方法,

 http://colintoh.com/blog/5-array-methods-that-you-should-use-today?utm_source=javascriptweekly&utm_medium=email

分享到:
评论

相关推荐

    javascript基础知识总结

    以下是对JavaScript基础知识的总结,主要关注在网页中使用的弹出对话框、函数调用以及带有参数的函数。 1) Alert Box `alert()` 函数用于显示一个包含警告信息的单行对话框,用户只能点击“确定”按钮关闭它。在...

    JavaScript基础知识点汇总(代码+知识点)

    这份“JavaScript基础知识点汇总”涵盖了从基础到进阶的多个方面,帮助开发者系统地理解和掌握这一语言。以下是详细的JavaScript知识点解析: 1. **变量**:在JavaScript中,我们可以使用`var`, `let`, 或 `const` ...

    JavaScript基础知识例子

    总的来说,这个压缩包提供了一个全面的JavaScript基础知识教程,涵盖了数据类型、Object、内置对象和变量等核心概念,对于初学者或者需要巩固基础的开发者来说,是一份非常有价值的参考资料。通过学习这些内容,可以...

    JavaScript基础知识总结

    1. JavaScript 的基础知识 在学习 JavaScript 之前,你需要了解 HTML 和 XHTML 的基础。JavaScript 被设计用来向 HTML 页面添加交互行为,通过在 HTML 中插入 JavaScript 代码,可以实现页面元素的动态操作和用户...

    JavaScript学习笔记,javascript基础知识,基础语法整理.pdf

    JavaScript基础知识点总结 JavaScript是一种高级的、动态的、基于对象的客户端脚本语言。它是在网页上执行的脚本语言,能实现网页的交互功能。下面是该资源中的重要知识点总结: 一、 JavaScript 基本概念 * ...

    javascript 基础知识 18

    javascript 基础知识

    javascript 基础知识 17

    javascript 基础知识

    javascript 基础知识 16

    javascript 基础知识

    javascript 基础知识 15

    javascript 基础知识

    javascript 基础知识 14

    javascript 基础知识

    javascript 基础知识 13

    javascript 基础知识

    Javascript基础知识整理.doc

    Javascript基础知识整理 JavaScript是一种高级的、动态的、弱类型的编程语言,主要用于客户端脚本编程。它可以在浏览器中执行,实现网页的交互性和动态效果。本文将对JavaScript的基础知识进行整理和总结,包括脚本...

    Javascript基础知识

    本文将详细介绍JavaScript的基础知识,包括它的编程基础、工作原理、在HTML中的使用方法,以及数据类型、变量、常量、运算符、表达式、控制流程和数组等核心概念。 首先,JavaScript最初由Netscape公司开发,是一种...

    javascript 基础知识

    javascript 基础知识

Global site tag (gtag.js) - Google Analytics