笔记——ES5 Array

ES5里引入了一些新的数组方法。这些方法可以分为两组: 迭代方法和项的定位。
兼容性:chrome,firefox,safari3,及ie8以上都支持

1. every

查询数组中的每一项是否匹配某个条件。传入的函数必须每个参数返回true, 方法才能返回true。返回值是boolean类型

2. some

查询数组中的任意一项是否匹配某个条件。与上面的every是一对好基友。它表示只要有哪怕一个元素让传入的函数返回true, 则返回true。返回值也是boolean类型

3. filter

在每个数组上运行给定的函数,返回令指定函数为true的元素。

4. map

返回一个数组,但是数组的内容等于传入函数对于每个元素的返回值。

5. forEach

遍历每个数组项,没有返回值

6. indexOf、lastIndexOf

代码:

var arr = [{
    name:'kimi',
    age:3,
},{
    name:'anglar',
    age:4,
},{
    name:'石头',
    age:5,
},{
    name:'小燕子',
    age:20,
},{
    name:'紫薇',
    age:30,
},{
    name:'容嬷嬷',
    age:50,
}
];
var isEvery = arr.every(function(item,index, array){
    return (item.age >10 );
})
console.log(isEvery);   //false

var isSome = arr.some(function(item,index, array){
    return (item.age > 10);
})
console.log(isSome);   //true


var filterResult = arr.filter(function(item, index, array){
    return (item.age > 10 );
})
console.log(filterResult);  
//[{name:'小燕子',age:20},{name:'紫薇',age:30},{name:'容嬷嬷',age:50}]

var mapResult = arr.map(function(item, index, array){
    return (item.age * 2);
})
console.log(mapResult); //[6, 8, 10, 40, 60, 100] 

var obj = {name:'我', age:60}
arr.push(obj);
console.log(arr.indexOf(obj));  //6

posted @ 2015-05-11 22:40  sx_summer  阅读(229)  评论(2编辑  收藏  举报