- 第一个
前:
const arr = [{
brand: 'apple',
name: 'IPHONE'
},
{
brand: 'samsung',
name: 'GALAXY'
}];
后:
{apple: "IPHONE", samsung: "GALAXY"}
过程:
arr.reduce((result, item) => {
result[item.brand] = item.name;
return result;
}, {})
- 第二个
前:
const obj = {
brand: "apple",
capacity: "64G",
color: "Black",
modelName: "IPHONE 6S",
ram: "4G",
};
后:
[
{ key: "brand", value: "apple" },
{ key: "capacity", value: "64G" },
{ key: "color", value: "Black" },
{ key: "modelName", value: "IPHONE 6S" },
{ key: "ram", value: "4G" },
]
过程:
Object.entries(obj).map(([key, value]) => {
return { key, value }
});
- 第三个
前:
const list= [
{
name: "name1",
age: "1"
},
{
name: "name2",
age: "2"
},
{
name: "name1",
age: "3"
},
],
后:
const data = {
name: ["name1", "name2"],
age: ["1", "2", "3"],
};
过程:
const name=[];
const age=[];
list.forEach((item)=>{
name.push(item.name);
age.push(item.age);
});
const data={
name:[...new Set(name)],
age:[...new Set(age)],
}
- 第四个
前:
const data = [
{
name: "name1",
age: "1",
sex: "boy",
},
{
name: "name2",
age: "2",
sex: "boy",
},
{
name: "name3",
age: "3",
sex: "girl",
},
]
后:
const data = [
{
name: "name1",
age: "1",
},
{
name: "name2",
age: "2",
},
{
name: "name3",
age: "3",
},
]
过程:
data.map((item)=>delete item.sex);
console.log(data);
- 第五个
前:
const a= [
{
a: "apple",
b: "boy",
qty: 1
},
{
a: "samsung",
b: "boy",
qty: 2
},
{
a: "lg",
b: "girl",
qty: 2
},
{
a: "lg",
b: "girl",
qty: 5
},
{
a: "NOKIA",
b: "boy-girl",
qty: 3
},
]
后:
const a= [
{
b: "boy",
qty: 3,
key: "boy"
},
{
b: "girl",
qty: 7,
key: "girl"
},
{
b: "boy-girl",
qty: 3,
key: "boy-girl"
}
]
过程:
a.forEach((item) => {
delete item.a;
});
const data = [];
const rowKeys = [];
a.forEach((item) => {
const {
b,
qty
} = item;
const rowKey = item.b;
const index = rowKeys.indexOf(rowKey);
if (index === -1) {
rowKeys.push(rowKey);
const row = Object.keys(item).reduce((result, propKey) => {
if (propKey === 'b') {
result.b = b;
} else if (propKey === 'qty') {
result.qty = qty;
}
return result;
}, {});
row.key = rowKey;
data.push(row);
} else {
data[index].qty += qty;
}
})
console.log('the final a is ', data);