map与for…in 的区别
map() 方法创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后返回的结果,不能改变原始数组。该函数接受的三个参数为:
当前元素
当前索引
当前被调用的数组
var numbers = [1, 4, 9];
var roots = numbers.map(Math.sqrt);
// roots的值为[1, 2, 3], numbers的值仍为[1, 4, 9]
for…in以原始插入顺序访问对象的可枚举属性,包括从原型继承而来的可枚举属性。
let obj = {
a:123,
b:"abc"
}
for(let pro in obj){
console.log(pro+':' + obj[pro])
}
//a:123
//b:abc
用法:
let em = data.map(item=>{
const json = {
id:item.id
}
const list = item.list.map(i=>{
return {
id:i.id,
review:i.review
}
})
json.list = list
return json
})