Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 有没有一种通过字符串访问数组元素的简单方法?_Javascript_Arrays - Fatal编程技术网

Javascript 有没有一种通过字符串访问数组元素的简单方法?

Javascript 有没有一种通过字符串访问数组元素的简单方法?,javascript,arrays,Javascript,Arrays,对于对象,我可以将一个键用方括号括起来,如下所示: // A.js const category = 'foo' return { [category] : 'bar' } // { foo: 'bar' } 是否有一种简单的方法可以对数组元素执行相同的操作?像 // B.js const category = 'foo' const items.foo = [1, 2, 3] const item = 4 return { items: [...items.category, ite

对于对象,我可以将一个键用方括号括起来,如下所示:

// A.js

const category = 'foo'

return { [category] : 'bar' } // { foo: 'bar' }
是否有一种简单的方法可以对数组元素执行相同的操作?像

// B.js

const category = 'foo'
const items.foo = [1, 2, 3]
const item = 4

return { items: [...items.category, item] } // throws an error 
我希望能够在B.js中获得{items:[1,2,3,4]}


有办法吗?

您可以使用相同的语法:

const category='foo'
常量项={foo:[1,2,3]}
常数项=4

log({items:[…items[category],item]})
点符号和方括号都是空的

如果使用点表示法,则属性必须是实际的属性名称:

words=新对象;
问候语:'你好';
console.log(words.greeting)//你好
console.log(单词['greeting'])//你好

console.log(单词[问候])//错误
如果要使用另一个变量访问
foo
属性,可以使用方括号表示法,如下所示:

const category = 'foo'
const items = {
  foo: [1, 2, 3]
}

const item = 4

console.log( { items: [...items[category], item] });

它应该是
{items:[…items[category],item]}
,您应该初始化items:-
const items={foo:[1,2,3]}
。我想您应该
{items:[…items[category],item]}
我想通过…items.foo访问…items.foo。'foo',就像我可以通过{['foo']:'bar}访问{foo:'bar'}这样我就不用硬编码foo了。