JavaScript Array方法 读书笔记(一)

本文详细解析了ES5中Array的9种核心方法,包括查询、遍历、映射、筛选及累加器功能,提供了丰富的代码示例,帮助读者深入理解并掌握这些方法的应用。

在ES5中,关于Array的方法一共有9个。我决定来整理一下这些方法,方便大家复习。

Array.prototype.indexOf 查询数组

Array.prototype.lastIndexOf 倒序查询数组

Array.prototype.some 指是否“某些项”合乎条件

Array.prototype.every 指是否“每一项”合乎条件

Array.prototype.forEach 遍历操作数组中的元素

Array.prototype.map 对数组的每个元素进行一定操作(映射)

Array.prototype.filter 筛选操作,返回筛选后的数组

Array.prototype.reduce 可以实现一个累加器的功能(左到右)

Array.prototype.reduceRight 可以实现一个累加器的功能(右到左)

1.indexof()

indexOf()方法返回在该数组中第一个找到的元素位置,如果它不存在则返回-1。

输入:

var arr = ['apple','orange','pear'];
console.log("found:", arr.indexOf("orange") );
复制代码

输出:

found:1
复制代码

2.some()

some意指“某些”,指是否“某些项”合乎条件。与下面的every算是好基友,every表示是否“每一项”都要靠谱。
array.some(callback,[ thisObject]);
需要向some里面传递一个回调函数
复制代码

输入:

var scores = [5, 8, 4, 9];
var xiaomingScore = 6;

function check(score) {
  return xiaomingScore > score;
}

if (scores.some(check)) {
  alert("xiaoming通过测试");
}
复制代码

输出:

弹窗:xiaoming通过测试
只要小明的分数超过scores中的一个即可返回true
换用every()的话,就需要小明的分数超过scores中的每一项才能返回true
复制代码

3. forEach()

forEach为每个元素执行对应的方法。

输入

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

arr.forEach(function(item,index){
console.log("item:"+item+",index:"+index)
})
复制代码

输出

item:1,index:0
item:2,index:1
item:3,index:2
item:4,index:3
item:5,index:4
item:6,index:5
item:7,index:6
item:8,index:7
复制代码

4.map()

map()对数组的每个元素进行一定操作(映射)后,会返回一个新的数组

输入:

let oldArray = [{first_name:"chen",last_name:"baiqiang"},
                {first_name:"zhou",last_name:"yingying"}
                ]
                
function getFullName(){
    return oldArray.map(function(item,index){
        item.full_name = [item.first_name,item.last_name].join(" ")
    })
}


复制代码

输出:

[{first_name:"chen",last_name:"baiqiang",full_name:"chen baiqiang"},
 {first_name:"zhou",last_name:"yingying","zhou yingying"}]
复制代码

5.filter

该filter()方法创建一个新的匹配过滤条件的数组。

输入:

var arr = [
  {"name":"apple", "count": 4},
  {"name":"orange", "count": 2},
  {"name":"pear", "count": 1},
  {"name":"orange", "count": 4},
];

var newArr = arr.filter(function(item){
    return item.name=='orange';
})

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

复制代码

输出:

Filter results: [{"name":"orange","count":2},{"name":"orange","count":4}]
复制代码

6.reduce

reduce()可以实现一个累加器的功能,将数组的每个值(从左到右)将其降低到一个值。。

输入:

var arr = [1,2,3,4]

arr.reduce(function(pre,next,index,arr){
    return pre+next
})
复制代码

输出:

10
复制代码

执行过程

总结了一下关于Array的一些常用方法操作以及实例,欢迎大家多多吐槽留言,我是小强,我们下次见面。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值