Dil*_*eet 2 javascript arrays ecmascript-6
所以我有如下数据:
[
{
"id": 0,
"title": "happy dayys",
"owner": {"id": "1", "username": "dillonraphael"},
"tags": [{"value": "Art", "label": "Art"}],
"items": []
},
{
"id": 1,
"title": "happy dayys",
"owner": {"id": "1", "username": "dillonraphael"},
"tags": [{"value": "Architecture", "label": "Architecture"}],
"items": []
},
]
Run Code Online (Sandbox Code Playgroud)
我正在尝试过滤数组,并且仅在标签数组包含==
指向另一个字符串的值时才返回。
这是我想出的,但似乎仍在发回整个阵列:
const tagMoodboards = _moodboards.filter(mb => { return mb.tags.filter(t => t.value == name) })
Run Code Online (Sandbox Code Playgroud)
你不想一filter
内filter
-相反,在过滤器内,检查some
的tags
对象有.value
属性,你想
const _moodboards = [
{
"id": 0,
"title": "happy dayys",
"owner": {"id": "1", "username": "dillonraphael"},
"tags": [{"value": "Art", "label": "Art"}],
"items": []
},
{
"id": 1,
"title": "happy dayys",
"owner": {"id": "1", "username": "dillonraphael"},
"tags": [{"value": "Architecture", "label": "Architecture"}],
"items": []
},
];
const name = 'Architecture';
console.log(_moodboards.filter(({ tags }) => (
tags.some(({ value }) => value === name)
)));
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2470 次 |
最近记录: |