Md *_*med 3 javascript arrays object filter
const notes = {
'jk2334|notes-md-23': {
id: 'notes-md-23',
text: 'First Note'
},
'jk2334|notes-xd-34': {
id: 'notes-xd-34',
text: 'Second Note'
},
'fd4345|notes-mf-54': {
id: 'notes-mf-54',
text: 'Third Note'
}
}
const result = Object.keys(notes).filter(note => {
if(note.startsWith('jk2334')) {
console.log('from inner -', notes[note]);
return notes[note];
}
})
console.log(result)
Run Code Online (Sandbox Code Playgroud)
如果我运行此代码,它仅返回键,而不返回对象的值。但如果我在条件内进行控制台,它会返回值。
我想返回值数组而不是键。我现在应该怎么做?
回调Array#filter
预计会返回一个布尔值。true
如果你想保留价值,false
如果你不想。您不能使用它将输入值转换为不同的输出值。您的代码会意外运行,因为对象是真值。
要将输入转换为输出值,您可以Array#map
在过滤后调用将键映射回值:
const notes = {
'jk2334|notes-md-23': {
id: 'notes-md-23',
text: 'First Note'
},
'jk2334|notes-xd-34': {
id: 'notes-xd-34',
text: 'Second Note'
},
'fd4345|notes-mf-54': {
id: 'notes-mf-54',
text: 'Third Note'
}
}
const result = Object.keys(notes)
.filter(note => note.startsWith('jk2334'))
.map(key => notes[key])
console.log(result)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
62 次 |
最近记录: |