1.正常取值法
const obj = {
a: 1,
b: 2,
c: 3,
};
const new_obj = {
a: obj.a,
b: obj.b,
};
console.log(new_obj); // { a:1, b:2 }
2.利用 JSON.stringify 第二个参数取值
const obj = {
a: 1,
b: 2,
c: 3,
};
/**
* JSON.stringify(value[, replacer[, space]])
* value:必需, 要转换的 JavaScript 值(通常为对象或数组)。
* replacer:可选。用于转换结果的函数或数组。
* 如果 replacer 为函数,则 JSON.stringify 将调用该函数,并传入每个成员的键和值。使用返回值而不是原始值。如果此函数返回 undefined,则排除成员。根对象的键是一个空字符串:""。
* 如果 replacer 是一个数组,则仅转换该数组中具有键值的成员。成员的转换顺序与键在数组中的顺序一样
* */
const new_obj = JSON.parse(JSON.stringify(obj, ["a", "b"]));
console.log(new_obj); // { a:1, b:2 }
3.利用 ES6 解构剔除无用对象
const obj = {
a: 1,
b: 2,
c: 3,
};
const { c, ...new_obj } = obj;
console.log(new_obj); // { a:1, b:2 }
4.利用 ES6 解构赋值
const obj = {
a: 1,
b: 2,
c: 3,
};
const { a, b } = obj;
const new_obj = { a, b };
console.log(new_obj); // { a:1, b:2 }
5.利用匿名方法以及 ES6 解构赋值
const obj = {
a: 1,
b: 2,
c: 3,
};
const new_obj = (({ a, b }) => ({ a, b }))(obj);
console.log(new_obj); // { a:1, b:2 }
还有其他方式的话欢迎留言交流学习