簡體   English   中英

如何使用array.map返回一個空數組

[英]how to return an empty array with array.map

如果obj.chk!= true,我需要返回一個空數組,以檢查是否未檢查toDos

function listChk() 
{
    if (!chkExist('./toDoArr')) {console.log('Please create toDo list first!')}
    else {

        let toDoArr = JSON.parse(fs.readFileSync('./toDoArr'))

        let chkToDoArr = toDoArr.map(function (obj) {
            if (obj.chk === true){
               console.log( obj.toDo)
               return obj.toDo
            }
        });
        console.log(chkToDoArr) // >>  [ undefined, undefined ]

        if (chkToDoArr.length < 1) 
        console.log('no checked toDos or empty list');
    }
}

謝謝

我相信您需要使用的是過濾器而不是地圖。 例如:

let chkToDoArr = toDoArr.filter(function (obj) {
  return obj.chk === true
})

console.log(chkToDoArr) // >>  []

過濾器返回結果數組,比較函數返回真值。

 let chkToDoArr = toDoArr.filter(obj => obj.chk).map(obj => obj.toDo)
  1. filter方法檢查是否收到的elemet prop是true,然后返回該元素。 在錯誤上什么也不會返回。 如果在數組上所有對象元素prop(chk)為false,則返回空數組
  2. 第二個動作是地圖過濾的數據並使用toDo prop返回數組

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM