map, reduce, filter, forEach - js [ES6]

map 映射(一一对应)

let arr = [68, 53, 12, 98, 65]

let arr2 = arr.map(item => item >= 60 ? '及格' : '不及格')

console.log(arr)
console.log(arr2)

// (5) [68, 53, 12, 98, 65]
// (5) ["及格", "不及格", "不及格", "及格", "及格"]

reduce 简化(多对一)

let arr = [68, 53, 12, 98, 65]

let result = arr.reduce(function (tmp, item, index) {
  alert(tmp)
  alert(item)
})

/**
 第一次
tmp: 68 item: 53

第二次
tmp: undefined item: 12
需要返回才能得到数据(所以返回undefined)
**/

---------------------------------------------------------

let result = arr.reduce(function (tmp, item, index) {
  alert(index +' : ' + tmp + ' , ' +item)
})

/** 
1 : 68 , 53
2 : undefined , 12
3 : undefined , 98
4 : undefined , 65
**/

---------------------------------------------------------

let result = arr.reduce(function (tmp, item, index) {
  return tmp + item
})

alert(result)

//296

filter 过滤

let arr = [68, 53, 12, 98, 65]

let arr2 = arr.filter( item => item%2 == 0 )

console.log(arr)
console.log(arr2)

//(5) [68, 53, 12, 98, 65]
//(3) [68, 12, 98]

forEach 遍历

let arr = [68, 53, 12, 98, 65]

arr.forEach((item, index) => {
  alert(`第${index}个: ${item}`) //注意是反单引号
})

//第0个: 68
//第1个: 53
//...

JSON序列号和反序列化

  • 注意引号的变化!!!

JSON.stringify({a: 12, b: 5}) => '{"a": 12, "b": 5}'

JSON.parse('{"a": 12, "b": 5}') => {a: 12, b: 5}

posted @ 2021-08-15 16:14  独舟者  阅读(43)  评论(0)    收藏  举报