深拷贝树形数组:
reduce的语法:
arr.reduce(callback,[initialValue])
callback (执行数组中每个值的函数,包含四个参数)
initialValue (作为第一次调用 callback 的第一个参数。)
四个参数:
1、previousValue (上一次调用回调返回的值,或者是提供的初始值(initialValue))
2、currentValue (数组中当前被处理的元素)
3、index (当前元素在数组中的索引)
4、array (调用 reduce 的数组)
设置了初始值,所以pre初始为{}
具体用法:
const str = 'jshdjsihh';
const obj = str.split('').reduce((pre,item) => {
console.log(pre)
console.log("itm:" + item)
console.log(pre + "[" + item + "]" + ":" + pre[item])
pre[item] ? pre[item] ++ : pre[item] = 1
return pre
},{})
console.log(obj) // {j: 2, s: 2, h: 3, d: 1, i: 1}
map的用法:只看红字好理解
map() 方法创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后返回的结果。
【简单用法】用于遍历每一个函数:
var array1 = [1,4,9,16];
const map1 = array1.map(x => x *2);
console.log(map1);
树形表格代码后续更新