JavaScript 如何检查对象值是否存在,而不向数组中添加新对象

JavaScript 如何检查对象值是否存在,而不向数组中添加新对象

在本教程中,我们需要检查JavaScript对象数组中是否存在对象,如果不存在,则需要向数组中添加一个新对象。我们可以说,在Javascript中,每个变量都是一个对象。例如,我们有一个像下面这样的对象数组。

obj =   { id: 1, name: ''Geeks1" }, 
        { id: 2, name: '"Geeks2"}, 
{ id: 3, name: "Geeks3" }

方法: 我们在JavaScript中使用了 some() 方法函数。some()方法用于检查数组中的某些元素是否通过回调函数提供的测试。对于空数组元素,此方法不起作用,并且不会修改原始数组。

语法:

obj.some(function(value, index)

例子1: 下面的代码检查对象值是否存在于数组中。通过使用 some() 函数,我们检查数组“obj”中的每个对象是否包含具有特定值的属性,即在本例中具有id和name。 “obj.some”接受函数参数“gfg”,如果数组(obj)中找到所需的对象,则返回“true”。带有对象值的name参数的 checkName() 函数返回布尔值。

Javascript

var obj = [{ id: 1, name: "Geeks1" },
{ id: 2, name: "Geeks2" },
{ id: 3, name: "Geeks3" }]
 
function checkName(name) {
    return obj.some(function (gfg) {
        return gfg.name === name;
    });
}
 
console.log(checkName('Geeks1'));
console.log(checkName('Geeks4'));

输出:

true
false

示例2: 以下示例演示如果数组中不存在对象,则将对象添加到数组中。

要添加一个新对象,我们使用 obj.length+1 将一个新元素推入数组。 length 是对象的属性,返回 数组 的长度。 push() 方法将对象附加到数组,并将元素添加到对象数组的末尾。我们有一个函数”checkName”,通过该函数将名称作为参数传递,一旦名称与对象的名称匹配,它将返回”true”。在 addObj() 函数中,如果遇到任何新名称,将使用 push() 函数将元素插入到下一个后续的id中。

Javascript

var obj = [{ id: 1, name: "Geeks1" },
{ id: 2, name: "Geeks2" },
{ id: 3, name: "Geeks3" }]
 
function checkName(name) {
    return obj.some(function (gfg) {
        return gfg.name === name;
    });
}
 
function addObj(name) {
    if (checkName(name)) {
        return false;
    }
    obj.push({ id: obj.length + 1, name: name });
    return true;
}
console.log("Adding 'Geeks1' which is not present in the obj")
addObj('Geeks1')
console.log(obj)
console.log("*******************************************")
console.log("Adding 'Geeks4' which is not present in the obj")
addObj('Geeks4')
console.log(obj)

输出:

Adding 'Geeks1' which is not present in the obj
[
      { id: 1, name: 'Geeks1' },
      { id: 2, name: 'Geeks2' },
      { id: 3, name: 'Geeks3' }
]
*******************************************
Adding 'Geeks4' which is not present in the obj
[
      { id: 1, name: 'Geeks1' },
      { id: 2, name: 'Geeks2' },
      { id: 3, name: 'Geeks3' },
      { id: 4, name: 'Geeks4' }
]

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程