Javascript 如何显示包含当前键的数组中的对象?
我有一个包含许多对象的数组,如下所示:Javascript 如何显示包含当前键的数组中的对象?,javascript,arrays,object,Javascript,Arrays,Object,我有一个包含许多对象的数组,如下所示: "title": "Harry Potter and the Philosophers Stone", "price": "7.99", "image": "https://say-hi.me/wp-content/uploads/2015/12/Digital-Harry-Potter-1.jpg&
"title": "Harry Potter and the Philosophers Stone",
"price": "7.99",
"image": "https://say-hi.me/wp-content/uploads/2015/12/Digital-Harry-Potter-1.jpg",
"id": 1,
"author": "J.K.Rowling",
"rating": 5,
"onTop": false
其中一些对象的
onTop
键具有值true
。因此,如何使用方法map
仅使用值true
显示对象?您可以在此处使用lodash库
那你就可以了
var books = [
{ 'title': 'doggo', 'onTop': true },
{ 'title': 'catto', 'onTop': false }
];
const onTopBooks = _.filter(books, function(o) { return o.onTop; });
它将返回一个新数组,其中包含
[{title:'doggo',onTop:true}]
我不会使用map方法,因为它为数组中的每个元素返回一个值,并且需要额外的循环来删除不需要的null
项filter
或类似的方法,如select
在这里会更好
此外,您还可以做一些更基本的事情,如:
let onTopBooks = []
books.forEach( book => {
if (book.onTop) {
onTopBooks.push(book)
}
})
return onTopBooks
那个
const数据=
[{标题:《哈利波特与魔法石》
,价格:'7.99'
,图片:'https://say-hi.me/wp-content/uploads/2015/12/Digital-Harry-Potter-1.jpg'
,身份证号码:1
作者:J.K.罗琳
,评级:5
,onTop:false
}
,{标题:“xyz”
,价格:'7.99'
,图片:'https://xyz.jpg'
,身份证号码:1
,作者:'xyz'
,评级:5
,onTop:true
}
]
const res=data.filter(e=>e.onTop)
console.log(res)
作为控制台包装{max height:100%!important;top:0;}
这是否回答了您的问题?没有洛达斯是真的吗?我不想安装整个软件包,因为有一种情况)@Gover123请参见编辑后的答案。我强烈建议保留lodash,因为它有很多非常有用的功能。如果真的重要的话,你也可以只导入你想使用的一个函数。嗯,没有lodash的过滤器习惯用法是books.filter(b=>b.onTop)
,而不是forEach
/push
:)太简单了,脑袋不工作,该睡觉了!谢谢你,兄弟!:)@AKX是的,在这种情况下,使用过滤方法更容易!)