//拿到{'mary':18','jacky':16,'ben':20}
let a1 = [{ name: 'mary', age: 18 }, { name: 'jacky', age: 16 }, { name: 'ben', age: 20 }]
const rlt = a1.reduce((pre, cur) => {
pre[cur.name] = cur.age;
return pre;
}, {});
console.log(rlt)
数据扁平化 1,2,3,4su
var arr = [1, [2, [3, 4]]];
function a(arr) {
console.log(arr.toString())
return arr.toString().split(',').map((item) => {
return + item
})
}
console.log(a(arr))
function b(arr) {
return arr.reduce((c1, c2) => {
return c1.concat(Array.isArray(c2) ? b(c2) : c2)
}, [])
}
console.log(b(arr))
数组去重 1. 有值返回true,没有则返回false if( !arr1.includes( arr[i] ) 把没的push到新数组里
2.引入underscore插件 _.uniq(arr)
a = [1, 1, 2, 2, 3, 3]
let c = []
for (k in a) {
console.log(a);
if (c.indexOf(a[k]) === -1) {
c.push(a[k])
}
}
console.log(c);
function arr(a) {
if (!Array.isArray(a)) {
return
}
let ccc = []
for (k in a) {
console.log(k);
if (ccc.indexOf(a[k]) === -1) {
ccc.push(a[k])
}
}
return ccc
}
console.log(arr(a));
深拷贝
let obj1 = {
name: 'xxx',
sex: '男',
like: ['红色', '蓝色'],
book: {
title: 'js程序',
price: '88'
}
}
Array.isArray(obj)?[] :{}
function a(obj) {
let newObj = obj instanceof Array ? [] : {}
for (k in obj) {
if (typeof obj[k] === 'object') {
newObj[k] = a(obj[k])
} else {
newObj[k] = obj[k]
}
}
return newObj
}
console.log(obj1);
let b = a(obj1)
console.log(b)