使用 underscorejs 我可以过滤对象中的数据,但它不会保留它的键。有没有办法用键取回对象
var data = {
foo: 'fff',
bar: 'sss',
aaa: 'gggg'
}
console.info('returns array with keys:')
console.log(data)
var ret = _.filter(data, function(el, key) {
if (key == 'foo' || el == 'sss') {
return true
}
})
console.info('keys are lost?')
console.log(ret)
这是 fiddle :https://jsfiddle.net/7L7tmq7s/
最佳答案
不用过滤器就可以解决:
console.log(data)
var filtered = {};
var ret = _.each(data, function(el, key) {
if ((key == 'foo' || el == 'sss')) {
filtered[key] = el;
}
})
console.info('keys are not lost?')
console.log(filtered)
工作代码here
关于javascript 对象过滤器 - 不返回关联键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35151037/