![](/img/trans.png)
[英]Pluck specific javascript value from an object based on an array of indexes
[英]JavaScript Get Indexes based from the Selected Array of Object Id
今天,我試圖根據我擁有的選定數據 id 獲取 javascript 索引列表。
我正在遵循https://buefy.org/documentation/table/#checkable中的本指南,它需要這樣的內容: checkedRows: [data[1], data[3]]
能夠檢查桌子。
我需要做的是根據我的 web API 響應檢查表格。
我有這個示例響應數據。
response.data.checkedRows // value is [{id: 1234}, {id: 83412}]
我有表格中的樣本數據。
const data = [{
id: 1234,
name: 'Jojo'
},{
id: 43221,
name: 'Jeff'
},{
id: 83412,
name: 'Kacey'
}]
所以基本上,我需要動態地擁有一些東西,比如: checkedRows: [data[0], data[2]]
因為它匹配來自response.data.checkedRows
的數據
到目前為止,我嘗試使用forEach
let selectedIndex = [];
response.data.checkedRows.forEach((d) => {
this.data.forEach((e) => {
if (d.id=== e.id) {
// need the result to be dynamic depending on the response.data.checkedRows
this.checkedRows = [data[0], data[2]]
}
});
});
我被困在這里,因為我不確定如何從響應中獲取與所選 checkRows 匹配的索引。 有什么幫助嗎?
Map 響應checkedRows
,並在回調中,在數組中找到匹配的.find
:
const checkedRows = [{id: 1234}, {id: 83412}]; const data = [{ id: 1234, name: 'Jojo' },{ id: 43221, name: 'Jeff' },{ id: 83412, name: 'Kacey' }]; const objs = checkedRows.map(({ id }) => ( data.find(obj => obj.id === id) )); console.log(objs);
如果元素很多,可以使用一組 ID 來查找,以降低計算復雜度:
const checkedRows = [{id: 1234}, {id: 83412}]; const data = [{ id: 1234, name: 'Jojo' },{ id: 43221, name: 'Jeff' },{ id: 83412, name: 'Kacey' }]; const ids = new Set(checkedRows.map(({ id }) => id)); const objs = data.filter(obj => ids.has(obj.id)); console.log(objs);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.