You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在JavaScript对象数组中判断是否存在指定key-value键值对

实现方法

你可以直接使用JS内置的Array.prototype.some()方法完成需求,该方法会迭代数组元素,只要找到第一个符合条件的元素就会立刻停止遍历,返回布尔值true,如果遍历完所有元素都没有匹配项则返回false,不需要你手动实现完整遍历逻辑。
示例代码如下:

var myArray = [{ value1: "a", value2: "b" }, { value1: "c", value2: "d" }, { value1: "e", value2: "a" }];
var result = myArray.some(function(item) {
  return item.value1 === "a";
});
// 箭头函数简写版
// var result = myArray.some(item => item.value1 === "a");
console.log(result); // 输出 true
关于遍历的问题

底层逻辑上肯定需要遍历数组元素做判断,但是:

  • 不需要你手动编写完整的循环逻辑,直接调用内置方法即可
  • 内置some()方法是短路执行的,只要匹配到第一个符合条件的元素就会终止迭代,不会遍历整个数组,只有当符合条件的元素不存在,或者在数组最后一位时才会遍历所有元素

如果是需要兼容不支持ES5的极端老旧环境,也可以手动实现短路循环,代码如下:

function checkExist(arr, targetKey, targetValue) {
  for(var i = 0; i < arr.length; i++) {
    if(arr[i][targetKey] === targetValue) {
      return true;
    }
  }
  return false;
}
var result = checkExist(myArray, "value1", "a");

内容的提问来源于stack exchange,提问作者CodingBoss

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 09:21:03