我有一个像这样的数组。我是从控制台获得的。

我试图找出如下的价值

var sku = skus_colorcode.indexOf('9620');
console.log(sku);


但是它返回-1。

为什么我得到这个结果?

最佳答案

您的代码根本无效。数组是没有键的元素列表。
您必须使用这样的对象:

var skus_colorcode = {HT2787UK: "9618", HT2787Z1UK: "9619", HT2787Z3UK: "9621", HT2787Z2UK: "9620"}


要找到与“ 9620”相对应的密钥(HT ....),请尝试以下代码:

var keys = Object.getOwnPropertyNames(skus_colorcode), key;

for(var i = 0; i < keys.length; i++)
    if(skus_colorcode[keys[i]] === "9620") {
        key = keys[i];
        break;
    }

// The right key is into the "key" variable
console.log(key); // says "HT2787Z2UK"

关于javascript - 在Javascript数组中使用indexOf(),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38161926/

10-17 02:51