gpt4 book ai didi

javascript - 检查JS中是否设置了数组项

转载 作者:行者123 更新时间:2023-12-03 00:10:57 26 4
gpt4 key购买 nike

我有一个数组

    var assoc_pagine = new Array();
assoc_pagine["home"]=0;
assoc_pagine["about"]=1;
assoc_pagine["work"]=2;

我试过了

    if (assoc_pagine[var] != "undefined") {

但是好像没用

我正在使用jquery,不知道是否有帮助

谢谢

最佳答案

使用in关键字测试属性是否在对象中定义

if (assoc_var in assoc_pagine)

或者

if ("home" in assoc_pagine)
<小时/>

这里有很多问题。

首先,var 是否应该是一个具有值“home”、“work”或“about”的变量?或者您的意思是检查名为“var”的实际属性(property)?

如果 var 应该是一个具有字符串值的变量,请注意 var 是 JavaScript 中的保留字,您将需要使用其他名称,例如assoc_var

var assoc_var = "home";
assoc_pagine[assoc_var] // equals 0 in your example

如果您想检查名为“var”的属性,那么您只需将其放在引号内即可。

assoc_pagine["var"]

那么,undefined"undefined" 不同。您将需要 typeof 来获取对象类型的字符串表示形式。

这是所有步骤的分割。

var assoc_var = "home"; 
var value = assoc_pagine[assoc_var]; // 0
var typeofValue = typeof value; // "number"

解决你的问题

if (typeof assoc_pagine[assoc_var] != "undefined") 
<小时/>

更新:正如其他答案所示,使用数组并不是解决此问题的最佳解决方案。考虑使用对象来代替。

var assoc_pagine = new Object();
assoc_pagine["home"]=0;
assoc_pagine["about"]=1;
assoc_pagine["work"]=2;

关于javascript - 检查JS中是否设置了数组项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2613192/

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