[英]How to remove object from an array which have a key value as undefined in React Native?
我有一個列表,在選擇值后返回一個數組。 現在,假設我 select 第一個和第三個值跳過第二個,那么返回的數組如下:
[
{
"cname": "10TKN",
"code": "403",
"id": 1
},
{
"cname": undefined,
"code": undefined,
"id": 2
},
{
"cname": "20TKN",
"code": "403",
"id": 3
}
]
我希望預期的結果為:
[
{
"cname": "10TKN",
"code": "403",
"id": 1
},
{
"cname": "20TKN",
"code": "403",
"id": 3
}
]
您可以使用 JavaScript 的Array.filter()
過濾掉undefined
的值。
const data = [ { "cname": "10TKN", "code": "403", "id": 1 }, { "cname": undefined, "code": undefined, "id": 2 }, { "cname": "20TKN", "code": "403", "id": 3 } ]; const res = data.filter(({cname, code, id }) => cname && code && id); console.log(res);
這將確保只返回具有真實值的對象。
或者,正如 HMR 在評論中提到的那樣,如果您只想檢查undefined
,最好這樣做:
const res = data.filter(({cname, code, id }) => cname !== undefined && code !== undefined && id !== undefined);
假設我們要評估的鍵是cname
。 我們需要使用Array.filter
function - 過濾掉數組:
let arr = [ { "cname": "10TKN", "code": "403", "id": 1 }, { "cname": undefined, "code": undefined, "id": 2 }, { "cname": "20TKN", "code": "403", "id": 3 } ]; arr = arr.filter(({cname}) => cname); console.log(arr)
您可以按照建議使用filter
,但您必須從列表中檢查選定的 ID,然后丟棄未選擇的 ID。 簡而言之,只有當列表 object id 與您選擇的匹配時,您才會返回 true
const dataList = [
{
"cname": "10TKN",
"code": "403",
"id": 1
},
{
"cname": undefined,
"code": undefined,
"id": 2
},
{
"cname": "20TKN",
"code": "403",
"id": 3
}
];
const selectedDataIds = [1, 3];
const res = dataList.filter(({ id }) => selectedDataIds.includes(id));
console.log(res);
您可以使用Destructuring assignment
並用逗號跳過一些值,如下所示:
const arr = [ { "cname": "10TKN", "code": "403", "id": 1 }, { "cname": undefined, "code": undefined, "id": 2 }, { "cname": "20TKN", "code": "403", "id": 3 } ] const [first, ,third] = arr; console.log(first, third);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.