当前位置: 首页 > 面试题库 >

Array.push()如果不存在?

谭京
2023-03-14
问题内容

如果两个值都不存在,如何推入数组?这是我的数组:

[
    { name: "tom", text: "tasty" },
    { name: "tom", text: "tasty" },
    { name: "tom", text: "tasty" },
    { name: "tom", text: "tasty" },
    { name: "tom", text: "tasty" }
]

如果我尝试使用name: "tom"或再次将其推入数组text: "tasty",我什么都不希望发生…但是如果这两个都不存在,那么我希望它.push()

我怎样才能做到这一点?


问题答案:

您可以使用自定义方法扩展Array原型:

// check if an element exists in array using a comparer function
// comparer : function(currentElement)
Array.prototype.inArray = function(comparer) { 
    for(var i=0; i < this.length; i++) { 
        if(comparer(this[i])) return true; 
    }
    return false; 
};

// adds an element to the array if it does not already exist using a comparer 
// function
Array.prototype.pushIfNotExist = function(element, comparer) { 
    if (!this.inArray(comparer)) {
        this.push(element);
    }
};

var array = [{ name: "tom", text: "tasty" }];
var element = { name: "tom", text: "tasty" };
array.pushIfNotExist(element, function(e) { 
    return e.name === element.name && e.text === element.text; 
});


 类似资料:
  • 问题内容: 我有下表: 如果给定的ID不存在,我想插入具有默认Val的ID。但是,如果它已经存在,我想增加Val的值。 我有以下代码: 并且它可以工作,但是我想用一个SQL语句来完成。我可以吗? 编辑 : 从@ Xikinho90的答案,我的最终代码是 问题答案: 您可以使用插入或替换。 我认为这可以解决问题 您只需要用输入的ID替换数字 谢谢奇科

  • 问题内容: 我有一个带有2个表的数据库,如下所示: 列是,并且是 和 在申请表中,我有2个编辑框,名称分别为和 如果用户像电子邮件一样插入一个新的负责人姓名, 那么在保存表格的过程中,我想将新的负责人姓名插入表中,请插入最后一个并将其更新为。 如果用户保持名称,但它更新电子邮件一样,然后我想在从1 =使用新的电子邮件地址和他们(其余和)保持不变。 如果负责人的名称相同,我想保留from表的原始引用

  • 问题内容: 我有以下代码: 而且我只想在此列不存在的情况下更改此表。 我正在尝试许多不同的方法,但是没有任何效果: 附带程序: 我在END IF中出错,然后在END中又在1中出错 我怎样才能使它尽可能简单? 问题答案: 在存储过程中使用以下命令:

  • 错误为: Msg 156,Level 15,State 1,Procedure EmailsRecebidosInsert,Line 11 关键字“where”附近的语法不正确。

  • 问题内容: 当我要求模型管理器获取对象时,如果没有匹配的对象,它将引发。 相反的,我怎么能有可以代替? 问题答案: 没有“内置”方式可以做到这一点。Django每次都会引发DoesNotExist异常。在python中处理此问题的惯用方式是将其包装在try catch中: 我所做的是将models.Manager子类化,创建类似于上面的代码,并将该经理用于我的模型。这样,您可以编写:。