我有一个遍历对象(数据)的函数,针对匹配的“ title” 属性过滤对象,并返回对象(notesObj )。返回变量在返回之前将打印正确的对象输出。但是返回的值在调用变量 readNote 中打印为 undefined 。
我无法解决这个问题。
返回的输出值:-
[{"title":"MARKET","description":"BUY MILK"}]
功能:-
var read=(title)=> {
var output=[];
console.log(`NOTE WITH TITLE:-'${title}'`);
fs.readFile('./notes_app_data.txt', function(err,data) {
if (err) {
console.log('ERROR READING DATA FROM THE FILE');
return output;
} else {
console.log('in else block');
data=JSON.parse(data); // data is an Array of Object.
output=data.filter((notesObj)=> notesObj["title"]===title);
console.log ('output'+JSON.stringify(output));
return (output);
}
});
}
呼叫功能代码:-
const myFunc=require('./function_file_node.js')
const yargs=require('yargs');
const util=require('util');
const operation=yargs.argv._;
if (operation=='read') {
var readNote=myFunc.read(yargs.argv.title);
console.log('readNote:-'+readNote);
}
阅读说明:-未定义