【发布时间】:2019-11-02 14:33:04
【问题描述】:
我有一个对象数组,我们可以调用它 arrayOne 并想用 arrayTwo 检查它是否包含与 ArrayOne 匹配的任何字符串,它将返回具有匹配数组的新数组。我可以使用 ES6 做的最好的方法是什么?
例子:
ArrayOne = [
{
"sessionId":1,
"name":"session name 1",
"types":[
"type1",
"type 2"
],
"tracks":[
"track1",
"track 2"
]
},
{
"sessionId":2,
"name":"session name 2",
"types":[
"track 3",
"type 2"
],
"tracks":[
"track 3",
"track 2"
]
}
]
arrayTwo = ["track 3"] // or it can be ["track&3", "Type 2"] which it will return both array
返回
newArray = [ {
"sessionId":2,
"name":"session name 2",
"types":[
"track 3",
"type 2"
],
"tracks":[
"track 3",
"track 2"
]
}]
我尝试了以下方法:
arrayOne.filter((obj) => {
Object.keys(obj).forEach((key) => {
if (obj[key].toString().indexOf(arrayTwo) !== -1) {
this.setState({
newArray: [obj]
})
}
});
});
【问题讨论】:
标签: javascript arrays node.js reactjs es6-promise