Javascript JS array.map()返回未定义的
我有以下功能Javascript JS array.map()返回未定义的,javascript,arrays,loops,foreach,Javascript,Arrays,Loops,Foreach,我有以下功能 函数findNeedle(数组){ array.forEach(元素=>{ 如果(元素==‘针’){ console.log('needle')//needle 返回“针” } }); } 常数针=findNeedle(['hay','junk','hay','hay','moreJunk','needle','randomJunk'])) console.log(指针)必须在函数中返回数组,否则将导致未定义。像这样: function findNeedle(array) {
函数findNeedle(数组){
array.forEach(元素=>{
如果(元素==‘针’){
console.log('needle')//needle
返回“针”
}
});
}
常数针=findNeedle(['hay','junk','hay','hay','moreJunk','needle','randomJunk']))
console.log(指针)
必须在函数中返回数组,否则将导致未定义。像这样:
function findNeedle(array) {
return array.forEach(element => {
// ....
}
但是这段代码中还有一些其他错误
我不太清楚你想要实现什么,这能帮助你吗
function findNeedle(arr) {
return arr.map((element, index) => {
if(element === 'needle') {
return index;
}
});
}
let needle = findNeedle(['hay', 'junk', 'hay', 'hay', 'moreJunk', 'needle', 'randomJunk']);
console.log(needle)
你必须这样做
因为它将指针返回到forEach函数,而不是findNeedle函数
祝你过得愉快,如果有任何疑问,请发表评论
function findNeedle(array) {
var answer;
array.forEach(element => {
if(element === 'needle') {
console.log('needle') // needle
answer= 'needle'
}
});
return answer
}
const needle = findNeedle(['hay', 'junk', 'hay', 'hay', 'moreJunk', 'needle', 'randomJunk'])
console.log(needle) //undefined
只需在数组之前添加return
。forEach
@Rado。forEach()
返回未定义的,所以这不会像Rado所说的那样起作用,但也会更改数组。forEach
返回到array.map
为什么不使用find()
.forEach
将返回未定义的
,因此不会有太大变化