javascirpt数组常用的一些方法

var arr = [];

for(let i = 65; i < 91; i++) {

arr.push(String.fromCharCode(i)) //String.fromCharCode(i) 26个字母

console.log()

}

//1.map重点在于原有的数据上进行加工,返回新数组,构建新元素。

//map在一个有26个连续空间的数组的过程当中是不会执行的,map不仅仅要拿length 还会拿item,如果item为空的时候就不会执行。

arr = arr.map(function(item, index, arr) {

//操作返回的每一个元素

return '纸牌' + item

})

 

//2.arr.foreach

//1. 必定执行完毕 (要考虑性能)

//2.在考慮性能的前提下,或者数组会改变的前提下就不要使用foreach,就还是老实使用for比较好。

//3.async await里面有坑,还是用for循环比较好。

arr.forEach(function(item, index, arr) {

//建议不要修改原来的数组

console.log('item', item, 'index', index, 'arr', arr)

})

 

//3.filter 过滤 根据函数参数返回的布尔值,来决定当前元素是否在新数组中存在。

let newArr = arr.filter(function(item, index, arr) {

if(index > 20) {

return true;

} else {

return false;

}

// return true;//留下,不涉及到新的元素内容变更

})

console.log(newArr)

 

//4.every 每一个兄弟都是

var arr2 = [];

for(let i = 65; i < 91; i++) {

arr2.push({

k: String.fromCharCode(i),

isLeave: false

}) //String.fromCharCode(i) 26个字母

console.log()

}

arr2[20].isLeave = false;

let allover = arr2.every(function(item, index, arr) {

return item.isLeave === true; //全部都为true

})

5.let someone = arr2.some(function(item, index, arr) {

return item.isLeave === true; //一个为true 结果就为true 否则就为false

})

console.log(allover, 'allover')

console.log(someone, 'someone')

 

//总结:数组.every 是否全部都 some.是否一个

//6.reduce  相当于求和

let nums = [1, 2, 3, 4, 5, 6, 7, 8, 344, 3];

let sum = nums.reduce(function(total, n) {

console.log(n)

return total + n; //下一轮的形参total,初始是reduce的第二个参数0

}, 0)

console.log('sum:', sum)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值