对象var obj={“shopId”:1,“price”:10,“name”:“kobi”,“shopNum”:21,“color”:“red”,“age”:32}
现在要获取obj的age,color,name并加入到一个新的空对象中,写法:var abc={};abc.age=obj.age abc.color=obj.color abc.name=obj.name
想问下,这样写法有什么不妥的地方,还有怎么转化成逼格高一些的样式,请帮帮忙,谢谢啦
对象var obj={“shopId”:1,“price”:10,“name”:“kobi”,“shopNum”:21,“color”:“red”,“age”:32}
现在要获取obj的age,color,name并加入到一个新的空对象中,写法:var abc={};abc.age=obj.age abc.color=obj.color abc.name=obj.name
想问下,这样写法有什么不妥的地方,还有怎么转化成逼格高一些的样式,请帮帮忙,谢谢啦
逼格高一点的啊,你看这样逼格高不高?
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), {});
上面的都是新技术,我来一个稳妥点的方法
<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>
8 回答4.8k 阅读✓ 已解决
6 回答3.5k 阅读✓ 已解决
5 回答2.9k 阅读✓ 已解决
5 回答6.4k 阅读✓ 已解决
4 回答2.3k 阅读✓ 已解决
4 回答2.8k 阅读✓ 已解决
3 回答2.5k 阅读✓ 已解决
let { age, color, name } = obj
let abc = { age, color, name }