gpt4 book ai didi

javascript - 为什么在 If 中的 someArray 中做 someVar 总是给出假值

转载 作者:行者123 更新时间:2023-11-30 09:28:47 25 4
gpt4 key购买 nike

我只是在用 AngularJS 做一些事情。我注意到通过使用 if 条件的附加样式,我总是得到错误的结果。为什么这样?我错过了什么吗?我试图用谷歌搜索它,但没有找到任何东西。

var myApp = angular.module('myApp',[]);

function MyCtrl($scope) {
var allowedExtensions = [".jpg",".pdf", ".png"];
var testExt = ".jpg";

if(testExt in allowedExtensions){
$scope.isAllowed = true;
}else{
//will always go here why?
$scope.isAllowed = false;
}
}
<html>
<head></head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<body ng-app="myApp">
<div ng-controller="MyCtrl">
Is Extension Allowed : {{isAllowed}}
</div>
</body>
</html>

我有 .NET 背景,所以我们使用 LINQ 的方式差不多。 JS不支持这种语法吗?

编辑我知道索引和其他方法来查找它是否在数组中。但我很困惑为什么 in 运算符不起作用。

感谢您的宝贵时间和帮助。

最佳答案

它是一个数组,因此 in 仅适用于索引或属性名称;来自文档:

The in operator returns true` if the specified property is in the specified object or its prototype chain.

试试 allowedExtensions.includes(testExt)allowedExtensions.indexOf(testExt) != -1

参见 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/in

关于javascript - 为什么在 If 中的 someArray 中做 someVar 总是给出假值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47699900/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com