如何将对象数组与var的内容进行比较

时间:2017-03-21 09:36:30

标签: javascript compare

我有以下形式的对象数组:

jsonParseEntityVariables = [
{"id":0, "text": []},
{"id":1, "text": []},
{"id":2, "text": []}
];

我还有一个名为entity_variables.currentId的var,我在其中存储了一个ID

如何将所有jsonParseEntityVariables.identity_variables.currentId进行比较,以确定entity_variables.currentIdjsonParseEntityVariables.id完全不相同?

4 个答案:

答案 0 :(得分:0)

您可以使用Array#every。如果json中的ids都不等于给定值,则它将返回true

var jsonParseEntityVariables = [{"id":0, "text": []},{"id":1, "text": []},{"id":2, "text": []}],
    currentId = 4;

    console.log(jsonParseEntityVariables.every(v => v.id != currentId));

Array#some,如果没有相等的值,则返回false。如果有一个匹配的元素,它将返回true

var jsonParseEntityVariables = [{"id":0, "text": []},{"id":1, "text": []},{"id":2, "text": []}],
    currentId = 4;

    console.log(jsonParseEntityVariables.some(v => v.id == currentId));

答案 1 :(得分:0)

你拥有的是一系列物体。您可以随时检查id值是entity_variables.currentId值,还是“{3}}”{/ 1>}

if (jsonParseEntitiesVariables.some(function(e) { return e.id === entity_variables.currentId;})) {
    // At least one matched
} else {
    // None matched
}

或使用ES2015 +箭头功能:

if (jsonParseEntitiesVariables.some(e => e.id === entity_variables.currentId)) {
    // At least one matched
} else {
    // None matched
}

如果您想知道哪个条目匹配,Array#someArray#find将是您正在寻找的内容:

var match = jsonParseEntitiesVariables.find(e => e.id === entity_variables.currentId);
if (match) {
    // Found it, `match` contains it
} else {
    // Not found
}

findIndex的工作方式相同,但会返回找到的条目的索引(如果找不到则返回-1)。

答案 2 :(得分:0)

var jsonParseEntityVariables = [{" id":0," text":[]},{" id":1," text&# 34;:[]},{" id":2," text":[]}],     currentId = 1; console.log(jsonParseEntityVariables.every(jsonParseEntityVariables => jsonParseEntityVariables.id!= currentId));

答案 3 :(得分:0)

此代码检查您的ID的重复ID-s。

var id_duplicate = false;
for (i in jsonParseEntityVariables){
    if (jsonParseEntityVariables[i].id === entity_variables.currentId){
        id_duplicate = true;
        break;
    }
}

请注意!您的jsonParseEntityVariables是一个数字。确保entity_variables.currentId也是一个数字。