javasciprt对象的一个问题

let arr=[]
let name='样式',
let value='女装'
arr.push({name:value})

不能这样写吗?这里为什么name还是name,name怎么可以用变量name 来表示

阅读 3.2k
6 个回答

arr.push({[name]: value})
这样写就行了

arr.push({name:value})

这个 name 是对象的 key, 如果想用一个变量来表示,可以:

arr.push({[name]: value})

图片描述

对象存在keyvalue keyname不是变量,如果看的不习惯可以加个””

你需要看看对象的属性名表达式。

给你个参考链接

let arr=[]
let name='样式'
let value='女装'
let obj = {}
obj[name] = value
arr.push(obj)

1.因为你let name = ‘样式’后面加了逗号!2.因为对象key赋值不是那样附的

let arr=[]
let name='样式'
let value='女装'
arr.push({[name]: value})
console.log(arr)// Array [Object { 样式: "女装" }]
推荐问题
宣传栏