首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么这个Javascript函数总是返回true?

为什么这个Javascript函数总是返回true?
EN

Stack Overflow用户
提问于 2017-05-10 15:17:01
回答 4查看 1.5K关注 0票数 0

我构建了一个函数,每个函数都应该在数组上迭代,如果操作(针对ex )返回true。元素< 10)对所有元素执行的都是true。这是我的密码:

代码语言:javascript
复制
function every(array, action) {
  var trueOrFalse = true
  for (var i = 0; i < array.length; i++)  
    trueOrFalse = trueOrFalse && action(array[i]);
  if (trueOrFalse = true) return true;
  else  return;
}
array1 = [1,2,3,4,5,6,7,8,9,10,11]
console.log(every(array1, function(element) {
  return element < 10 
}))

我看不出有什么不对劲。对于array1,即使它包含数字> 10,它也返回true。问题在哪里?

谢谢

EN

回答 4

Stack Overflow用户

发布于 2017-05-10 15:18:14

代码语言:javascript
复制
if (trueOrFalse = true) return true; 

应该是

代码语言:javascript
复制
if (trueOrFalse == true) return true;
票数 4
EN

Stack Overflow用户

发布于 2017-05-10 15:18:02

您需要计算trueOrFalse等于true,对此您需要双等于

代码语言:javascript
复制
if (trueOrFalse == true) return true;

另外,您只需要使trueOrFalse的值与true相同

加分:

代码语言:javascript
复制
 if (trueOrFalse === true) return true;

使用三个相同的符号来评估完全相同的类型和值。这在这里不是必需的,但是知道是有用的。

票数 1
EN

Stack Overflow用户

发布于 2017-05-10 15:27:13

您的条件是使用了不正确的运算符,您应该使用==运算符。

您可以使用if (trueOrFalse == true) return true;

您可以将其编写为if (trueOrFalse) return true;,但仍将其计算为if( true )

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43896595

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档