Javascript - 比较2个输入分割数组并输出差异

时间:2016-02-23 01:29:00

标签: arrays compare

我有两个输入都包含由'|'分隔的数字列表。 我需要检查第一个输入中的任何id是否存在于第二个输入中,如果它没有将它添加到第三个输入中。

<input type="text" id="access_ids" value="13|16|24|25|31|33|36|42|43|45|48|49|58|59|61|8" /><br />
<input type="text" id="replied_ids" value="8|9|16" /><br />
<input type="text" id="not_replied_ids" value="" />

$(document).ready(function(){
var acc_ids = $('#access_ids').text();
var acc_array = acc_ids.split('|');

for (var i = 0; i < acc_array.length; i++) {
    if (acc_array[i].indexOf($('#replied_ids')) > -1) {
        $('#not_replied_ids').text(acc_array[i].join('|'));
        return;
    }
}

});

我做了一个jsfiddle: https://jsfiddle.net/sheferd/nhj63fbu/1/

由于

1 个答案:

答案 0 :(得分:1)

你的语法错误,例如:$('#access_ids').text() - &gt; $('#access_ids').val() ...您可以尝试按照代码:

$(document).ready(function(){
    var acc_ids = $('#access_ids').val();
    var acc_array = acc_ids.split('|');
  var not_replied_arr = [];
    for (var i = 0; i < acc_array.length; i++) {
        if ($('#replied_ids').val().indexOf(acc_array[i]) == -1) {
            not_replied_arr.push(acc_array[i]);
            $("#not_replied_ids").val(not_replied_arr.join("|"));
            return;
        }
    }
});