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

鍍金池/ 問答/HTML/ js寫法簡化

js寫法簡化

對象var obj={“shopId”:1,“price”:10,“name”:“kobi”,“shopNum”:21,“color”:“red”,“age”:32}
現(xiàn)在要獲取obj的age,color,name并加入到一個新的空對象中,寫法:var abc={};abc.age=obj.age abc.color=obj.color   abc.name=obj.name   

想問下,這樣寫法有什么不妥的地方,還有怎么轉(zhuǎn)化成逼格高一些的樣式,請幫幫忙,謝謝啦
回答
編輯回答
悶騷型

let { age, color, name } = obj
let abc = { age, color, name }

2017年6月11日 15:46
編輯回答
舊顏

上面的都是新技術(shù),我來一個穩(wěn)妥點的方法

<script>    
    function test (obj, keys) {
        var result = {};
        for(var a=0; a<keys.length; a++) {
            obj[keys[a]] ? result[keys[a]] = obj[keys[a]] : null;
        }        
        return result;
    }
    
    var obj={
        "shopId": 1,
        "price": 10,
        "name": "kobi",
        "shopNum": 21,
        "color": "red",
        "age":32
    };
    
    var newObj = test(obj, ['age', 'name', 'color']);
    
    console.log(newObj)
</script>
2017年6月22日 21:57
編輯回答
尋仙

如果可以引入 ramda 庫:

const R = require('ramda')
let abc = R.pick(['age', 'name', 'color'], obj)
2018年7月13日 13:05
編輯回答
怪痞

逼格高一點的啊,你看這樣逼格高不高?

const obj = {"shopId":1,"price":10,"name":"kobi","shopNum":21,"color":"red","age":32};

const abc = ['age', 'color', 'name'].reduce((ans, key) => (ans[key] = obj[key], ans), {});
2018年1月18日 02:19