javascript indexOf不适用于数字序列

时间:2017-10-23 14:07:24

标签: javascript indexof

我试图比较一下我从JSON获得的字符串是否以某个数字开头,例如,如果字符串1.1.01.10.0001以1.1.01.10开头。我写了这段代码来测试这个:

var result = JSON.parse(data);
for (x in result.group){
    var group = JSON.stringify(x.group);
    for (y in result.account){
        var account = JSON.stringify(y.account);
        console.log(group);
        console.log(account);
        if (account.indexOf(group) != -1){
            alert("ok");
        }
    }
}

我不知道错误在哪里,控制台在这里返回:

img console

在第一个结果中它应该返回除-1之外的一些数字,如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

对于给定的JSON,这工作正常



var data = {
  "group": [{
    "description": "xxxxx",
    "group": "1.1.01.10"
  }, {
    "description": "xxxxx",
    "group": "1.1.01.20"
  }],
  "account": [{
    "description": "xxxxx",
    "account": "1.1.01.10.001"
  }, {
    "description": "xxxxx",
    "account": "1.1.01.20.001"
  }, {
    "description": "xxxxx",
    "account": "1.1.01.20.002"
  }, {
    "description": "xxxxx",
    "account": "1.1.01.20.003"
  }]
}
data = JSON.stringify(data);
var result = JSON.parse(data);

var customFn = function(val) {
  for (var x = 0; x < result[val].length; x++) {
    var value = result[val][x];
    console.log(value[val]);
    if (value[val].indexOf('1.1.01.10.') != -1) {
      alert("ok value is " + value[val]);
    }
  }
}
customFn('group');
customFn('account');
&#13;
&#13;
&#13;