如何使用array.map返回一个空数组

时间:2019-02-28 21:45:38

标签: javascript node.js

如果obj.chk!= true,我需要返回一个空数组 检查是否未检查待办事项

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');
    }
}

谢谢

2 个答案:

答案 0 :(得分:0)

我相信您需要使用的是filter而不是地图。例如:

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

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

过滤器返回结果数组,比较函数返回真值。

答案 1 :(得分:0)

ID
  1. filter方法检查接收到的元素道具是否为真,返回该元素。虚假回报 没有。如果在数组上所有对象元素prop(chk)为false 返回空数组
  2. 第二个动作是地图过滤的数据并返回     数组与toDo prop