在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ es6解構(gòu)獲得對象的一部分屬性?

es6解構(gòu)獲得對象的一部分屬性?

    const obj = {
        name: 'jack',
        id: 1,
        birthday: '12-07-09',
        phone: 1232131231
    };

如何最簡單的解構(gòu)將上述對象解構(gòu)為下面的對象:

    const obj_new = {
        name: 'jack',
        id: 1
    };
回答
編輯回答
櫻花霓

不知道你的具體業(yè)務(wù)場景是什么樣子的,實現(xiàn)這個需求方式比較多:

  1. 既然你已經(jīng)知道想要的屬性,完全可以簡單的對象賦值
const newObj = {
    name:obj.name
    /** ... **/
}
  1. 如果屬性比較多可以自己封裝個簡單的函數(shù)
function copy({name,id}){
  return {
      name,
      id
  }
}
2018年8月24日 04:22
編輯回答
放開她

你這得分兩步,解構(gòu)和組合。
解構(gòu)不是"先解析+再構(gòu)成",取屬性并賦值給到不同的變量的過程叫解構(gòu)。
數(shù)組一定程度上可以,對象不行。

const arr = [1, 2, 3, 4]
const [ , , ...newArr] = arr
2017年11月8日 10:14
編輯回答
嘟尛嘴

可以是可以,但是不太安全,尤其是在全局作用域,name、id 都會去找最近一級的變量,在局部作用域里用好些

 const obj = {
        name: 'jack',
        id: 1,
        birthday: '12-07-09',
        phone: 1232131231
    };

let {name,id}=obj;
console.log(result={name,id});//{ name: 'jack', id: 1 }
2018年6月23日 15:10
編輯回答
撥弦

可以自己封裝個方法。

2018年4月15日 07:40
編輯回答
祉小皓

如果你的對象是JSON安全的,那可以用JSON方法

 const obj = {
    name: 'jack',
    id: 1,
    birthday: '12-07-09',
    phone: 1232131231
};
const obj_new = JSON.parse(JSON.stringify(obj,["name","id"]));
2017年4月29日 13:56
編輯回答
扯不斷
const { id, name } = obj;
const newObj = { id, name }
2018年4月2日 09:04