假设我有一个数组,我想在数组中找到大于25的第一个数字。它检查条件,即数字是否大于25,并在条件满足时返回true,但返回值请帮我调试它的工作方式。
const numbers=[10,20,30,40,50]
function findNumJS(numbers,num){
const output=numbers.find(function(n){
return n>num
})
return output
}
console.log(findNumJS(numbers,25))
答案 0 :(得分:0)
find()
方法返回满足提供的测试功能的数组中第一个元素的 值 。否则,返回 未定义 。
如果要返回布尔值,则可以使用Array.prototype.some()
const numbers=[10,20,30,40,50]
function findNumJS(numbers,num){
const output=numbers.some(function(n){
return n>num
})
return output
}
console.log(findNumJS(numbers,25))
答案 1 :(得分:0)
find()方法返回通过测试的数组中第一个元素的值(作为函数提供)。
find()方法对数组中存在的每个元素执行一次功能:
如果找到函数返回真值的数组元素,则find()返回该数组元素的值(并且不检查其余值) 否则返回undefined 注意:find()不会对空数组执行该函数。
注意:find()不会更改原始数组。
答案 2 :(得分:0)
JavaScript Array.find(callback)
函数将返回数组的第一项,该函数将返回true
。
答案 3 :(得分:0)
function isBigEnough(value) {
return function(element, index, array) {
return (element >= value);
}
}
var filtered = numbers = [10, 20, 30, 40, 50].filter(isBigEnough(25));
console.log(filtered)
答案 4 :(得分:0)
实际上,find方法逐一遍历每个数组项并检查提供的条件。如果满足提供的条件,则find方法立即返回匹配的项目。
const numbers=[10,20,30,40,50]
numbers.find(number => number > 25)
//In first iteration number -> 10 ; which is not greater than 25
//In second iteration number -> 20 ; which is not greater than 25
//In third iteration number -> 30 ; which is greater than 25, so the condition satisfied and it returns the value
答案 5 :(得分:0)
如果在数组中找到第一个元素,则可以使用 .find
,但您要检查是否有满足您条件的元素。因此您应该使用 .some 。
对于您的示例,您可以这样更改它:
const numbers=[10,20,30,40,50]
function findNumJS(numbers,num){
const output=numbers.some(function(n){
return n>num
})
return output
}
console.log(findNumJS(numbers,25))
您可以像这样或仅使用用户.some来减少代码。
const numbers=[10,20,30,40,50]
function findNumJS(numbers,num){
return numbers.some(function(n){
return n>num
})
}
console.log(findNumJS(numbers,25))
有关更多信息,请参见: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/some