检查对象数组以检查JS中的条件

时间:2014-07-29 08:22:22

标签: javascript arrays

检查对象数组以检查condition.conditions是 对象数组最初是空的。

1.如果数组为空,则在发生操作时,将对象添加到数组中。

2.如果数组有对象检查它是否已经存在。如果发现从数组中删除该对象,否则添加到数组。

我试过下面的代码。

  var arr = [];
    $(document).ready(function() {
        $(".rating").click(function() {
            var idx = $(this).closest('td').index();

            var userskill = {
                tech : $(this).closest('td').siblings('td.tech').text(),
                skill : $('#listTable thead th').eq(idx).text(),
                rValue : $(this).val()

            }
            add(userskill);
        });

    });

function add(userskill) {
    var flag = false;
    arr.push(userskill);
    for(var i in arr){
        if((arr[i].tech==userskill.tech)&&(arr[i].skill==userskill.skill)){
            arr.splice(i, 1);
        }

    }

1 个答案:

答案 0 :(得分:0)

我认为Underscore.js对你的问题很有意思。例如。 isEqual方法允许对象比较。

编辑:

使用_.findWhere的代码:

function add(userskill) {
  if(!_.findWhere(arr, userskill)) {
      arr.push(userskill);
  }
}