我正在取回一個二維陣列,有時我會收到該特定物件的“錯誤”和“訊息”。我一直遇到的問題是,我收到的訊息會有所不同......如果提到“錯誤”鍵然后完全洗掉該物件,我該怎么辦。
我的陣列:
let filtData = [
[
{
descriptions: {
attrs: {
lang: "en-GB",
},
},
},
{
descriptions: {
attrs: {
lang: "es",
},
},
},
{
error: {},
message: "Cannot read property 'attrs' of undefined"
},
],
[
{
descriptions: {
attrs: {
lang: "sp",
},
},
},
{
descriptions: {
attrs: {
lang: "en-GB",
},
},
},
{
descriptions: {
attrs: {
lang: "it",
},
},
},
],
[
{
descriptions: {
attrs: {
lang: "en",
},
},
},
{
descriptions: {
attrs: {
lang: "uk",
},
},
},
{
descriptions: {
attrs: {
lang: "en-GB",
},
},
},
],
];
Js 過濾器 - 這僅在我知道訊息傳遞時才有效
let objectToBeRemove = [{ error: {}, message: "Cannot read property 'attrs' of undefined" }];
filtData = filtData.filter((obj) => objectToBeRemove.some((objToRemove) => JSON.stringify(objToRemove) !== JSON.stringify(obj)));
uj5u.com熱心網友回復:
檢查.every子陣列中的元素是否缺少error屬性。
const input=[[{descriptions:{attrs:{lang:"en-GB"}}},{descriptions:{attrs:{lang:"es"}}},{error:{},message:"Cannot read property 'attrs' of undefined"}],[{descriptions:{attrs:{lang:"sp"}}},{descriptions:{attrs:{lang:"en-GB"}}},{descriptions:{attrs:{lang:"it"}}}],[{descriptions:{attrs:{lang:"en"}}},{descriptions:{attrs:{lang:"uk"}}},{descriptions:{attrs:{lang:"en-GB"}}}]];
const filtered = input.filter(
subarr => subarr.every(obj => !obj.hasOwnProperty('error'))
);
console.log(filtered);
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/429771.html
標籤:javascript 数组 目的 筛选
上一篇:如何將不同的物件移交給方法
下一篇:如何在VBA中將物件宣告為引數
