【发布时间】:2020-04-30 13:29:23
【问题描述】:
我正在尝试创建一个仅包含来自 state.words 对象的 id 的数组(如下)
我需要的输出
['word-1','word-2','word-3','word-4','word-5','word-6','word-7']
我的起始数据结构如下所示
words: {
'word-1': { id: 'word-1', content: 'Jimmy Yukka' ,url:'www.paulayling.me'},
'word-2': { id: 'word-2', content: 'INXS' ,url:'www.paulayling.me'},
'word-3': { id: 'word-3', content: 'Up North' ,url:'www.paulayling.me'},
'word-4': { id: 'word-4', content: 'Prince' ,url:'www.paulayling.me'},
'word-5': { id: 'word-5', content: 'Magic Moose' ,url:'www.paulayling.me'},
'word-6': { id: 'word-6', content: 'Salt n Pepper' ,url:'www.paulayling.me'},
'word-7': { id: 'word-7', content: 'Maddonna' ,url:'www.paulayling.me'}
}
我遇到的问题是,因为它是一个基于对象数组的方法不会给我我需要的结果,例如下面不起作用 - 但我需要一个对象对象的等价物 我的功能如下
addNewWord() {
var currentOrder = this.state.words.map(function (book) {
return book.id
})
console.log('words stuff', currentOrder)
}
我得到了错误
TypeError: this.state.words.map is not a function
如果相关,则从 componentDidMount() 函数调用该函数
【问题讨论】:
-
更正它的一个对象,但我想输出一个数组
-
...您不能在对象上调用
map。 -
谢谢,所以我想我在问如何遍历对象以将所需的值放入数组中