从javascript值获取密钥
我有一个通过函数传递的对象。目标如下:从javascript值获取密钥,javascript,json,object,Javascript,Json,Object,我有一个通过函数传递的对象。目标如下: items: { 'cannonball': '0', 'cannon stand': '-9000', 'cannon barrel': '800', . . . } 我的函数filterItem定义如下: function filterItem(items) { // console.log(items); var value = []; filteredItems = {} console.log(items
items: {
'cannonball': '0',
'cannon stand': '-9000',
'cannon barrel': '800',
.
.
.
}
我的函数filterItem
定义如下:
function filterItem(items) {
// console.log(items);
var value = [];
filteredItems = {}
console.log(items);
for (var key in items) {
if (items[key] > 0 && items[key] < 1000) {
value.push(items[key]);
};
};
console.log(value);
};
提前感谢。如果“显示”是指console.log对象,则可以对功能进行轻微修改:
let项目={
“炮弹”:“0”,
“炮台”:“9000”,
“炮管”:“800”
};
功能过滤器项(项目){
filteredItems={}
对于(var输入项){
如果(项[键]>0和项[键]<1000){
filteredItems[key]=项[key];
};
}
console.log(filteredItems);
};
过滤器(项目)代码>如果我正确理解了您的问题,那么您可以通过以下方式实现这一点:
var数据={
项目:{
“炮弹”:“0”,
“炮台”:“-9000”,
“炮管”:“800”,
}
}
功能过滤器项(项目){
//使用Object.entries获取键/值对数组
常量filteredItems=Object.entries(items)
.filter(([key,value])=>{
//按标准00&&parseInt(值)<1000;
})
.reduce((结果,[键,值])=>{
//使用缩减创建具有筛选的键/值的哈希/对象
结果[键]=值;
返回结果;
}, {})
console.log(filteredItems)
}
filterItem(data.items)
这是使用Object.entries
和数组reduce
var项目={
“炮弹”:“0”,
“炮台”:“9000”,
“炮管”:“800”,
}
功能过滤器项(项目){
返回Object.entries(items).reduce((acc[key,value])=>{
如果(值>0&&值<1000){
acc.push({[键]:值})
}
返回acc;
}, []);
};
console.log(filteriem(items))代码>这没有意义。“显示值的键”是什么意思?看起来您只保留了一个值数组。为什么不使用filteredItems对象,并在它们通过检查时附加它们呢<代码>过滤数据项[键]=项[键]代码>值。推送({key:items[key]})??将值设置为对象数组,而不是简单数组。
filteredItems: {
cannon barrel: '800'
}