运行以下代码时,出现以下错误:
ReferenceError:未定义数组
为什么说数组未定义?
{
"id": 5,
"name": "key.jpg",
"hash": "045a33af53ad4efe9dd0cdc80173e792",
"sha256": "hLIpLA5JHEKfjfnAhgr9HqvKpNkm1QH1J-kvrIkGogQ",
"ext": ".jpg",
"mime": "image/jpeg",
"size": "4238.72",
"url": "/uploads/045a33af53ad4efe9dd0cdc80173e792.jpg",
"provider": "local",
"public_id": null,
"created_at": 1551723193383,
"updated_at": 1551723193411,
"related": [
]
}
答案 0 :(得分:1)
因此,您需要在代码中添加几个返回值。在尝试取回数据时,为此,您需要使用return in函数。
当您没有将任何数据存储到数组时,使用forEach也是一个好主意。但是var newArray =
不会返回任何内容,因为forEach不返回数组。
希望这会有所帮助。
var names = ["Lars", "Jan", "Peter", "Bo", "Frederik", "Anna"];
function myfilter(array, callback) {
return callback(array);
}
function turnaround(array) {
var newFilter = [];
array.forEach(function(name) {
if (name.indexOf("a") > -1) {
newFilter.push(name);
}
});
console.log(newFilter)
return newFilter;
}
console.log(myfilter(names, turnaround));
答案 1 :(得分:1)
这应该可以工作,并且通过使用过滤器可以简化一些事情,因为您要生成一个新的数组。
var names = ["Lars", "Jan", "Peter", "Bo", "Frederik", "Anna"];
function myfilter(array, callback) {
return callback(array);
}
function turnaround(array) {
return array.filter(name => name.indexOf("a") > -1);
}
console.log(myfilter(names, turnaround));