map, reduce, filter, forEach - js [ES6]
阿新 • • 發佈:2021-08-15
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}