美文网首页
【学习笔记】ES6 标准 - 数组循环

【学习笔记】ES6 标准 - 数组循环

作者: Spidd | 来源:发表于2019-05-30 18:31 被阅读0次
/*
* ES6 标准 - 数组循环
* -----------循环-----------
* arr.forEach()  代替for循环
* arr.map()  非常有用,做数据交互“映射”。    ** 重新整理数据结构:
* 正常情况下,需要配合return,返回是一个新的数组
* 若是没有return,和forEach()一样
* arr.filter()  过滤,过滤一些不合格"元素",如果回调函数返回 true 则留下
* arr.some()  类似于查找。数组里面某一个元素符合条件,才返回true
* arr.every()  数组里面所有的元素都要符合条件,才返回true
* * 【方法】
arr.froEach/map...(循环回调函数,this指向(非必须)))
* * 【解析】
* ----------------------------------------------------------------------
* arr.reduce()  求数组的和、阶乘   (从左往右)
* arr.reduceRight() (从右往左)
* * 【方法】
arr.reduce((prev, cur, index, arr)=>{})
* */
let numAll = [2,2,3];
let num = numAll.reduceRight((prev, cur, index, arr)=>{
    return prev ** cur;   //幂 运算符   es 2017 新增的运算符    prev 的 几次方
})
console.log(num)

/*
* arr.forEach()【示例】
*
* */
let arr = [1,2,3,4];
for (let i = 0;i<arr.length;i++){}

arr.forEach(function(val, index, arr) {   //代替普通for
    // console.log(val, index, arr)
    // console.log(this)
}.bind('123'))

/*
* arr.map()【示例】
*
* */
let json = [
    {title:'aaa', read: 100, hot: true},
    {title:'bbb', read: 100, hot: false},
    {title:'ccc', read: 100, hot: true},
    {title:'ddd', read: 100, hot: true},
];
let newArr = json.every((item, index, json)=>{
    return item.read == 100
})
console.log(newArr)

// let newArr = json.some((item, index, json)=>{
//     return item.hot
// })
// console.log(newArr)

// let newArr = json.filter((item, index, json)=>{
//     return item.hot
// })
// console.log(newArr)

// let newArr = json.map((item, index, json)=>{
//     let obj ={}
//     obj.t = 'sdfasfsd';
//     obj.r = item.read+200;
//     obj.hot = item.hot == true && '真棒!!!';
//     return obj
// })
// console.log(newArr)


/*
for of     ES6新增的   循环
数组新增方法
arr.keys() 数组下标
arr.entries() 数组某一项
*/
let arr1 = ['apple','banana','orange']
console.log(arr1.entries())
for(let val of arr1){
    console.log(val)
}
for(let index of arr1.keys()){
    console.log(index)
}
for(let item of arr1.entries()){
    console.log(item)
}
for(let [key,val] of arr1.entries()){
    console.log(key,val)
}

相关文章

网友评论

      本文标题:【学习笔记】ES6 标准 - 数组循环

      本文链接:https://www.haomeiwen.com/subject/lobvtctx.html