几个 ES6 函数式编程的小技巧 更新对象 let state = { id: 1, points: 100, name: "Goran" } let newState = { ...state, //重点在这 points: 120 } /* { id: 1, points: 120, name: "Goran" } */ 更新数组 原始数组为 [1, 1, 1, 1] ,现在需要改变第三个元素,使其 +1 ,最终结果 [1,1,2,1]。 let state = [1, 1, 1, 1] let index = 2 let newState = [ ...state.slice(0, index), state[index] + 1, ...state.slice(index + 1) ] 过滤器 一个元素为纯数字的数组,过滤出所有奇数。 var arr = [0, 1, 2, 3, 4] arr.filter( x => x%2 === 0 ) 累加器 计算出所有数组里元素的总和。 var arr = [0, 1, 2, 3, 4] arr.reduce( (prev, curr) => prev + curr ) //10 arr.reduce( (prev, curr) => prev + curr , 20) //30 变量对调 将两个变量的值互相对调。 var a = 1, b = 2; [a , b] = [b , a] // a=2, b=1