Javascript测试具有数组的对象中是否存在对象键

Javascript测试具有数组的对象中是否存在对象键,javascript,json,object,properties,Javascript,Json,Object,Properties,我需要检查带有数组的嵌套对象的复杂对象中是否存在属性。 我发现了几个关于这个主题的帖子,访问量最大的是下面的一篇。 提供的解决方案checkNested函数的问题不适用于具有数组的对象。 有没有人有解决这个问题的办法 干杯 这是我测试的功能: function checkProperty(obj, prop) { var parts = prop.split('.'); for (var i = 0, l = parts.length; i < l; i++) { var

我需要检查带有数组的嵌套对象的复杂对象中是否存在属性。 我发现了几个关于这个主题的帖子,访问量最大的是下面的一篇。 提供的解决方案checkNested函数的问题不适用于具有数组的对象。 有没有人有解决这个问题的办法

干杯

这是我测试的功能:

function checkProperty(obj, prop) {
  var parts = prop.split('.');
  for (var i = 0, l = parts.length; i < l; i++) {
    var part = parts[i];
    if (obj !== null && typeof obj === "object" && part in obj) {
      obj = obj[part];
    } else {
      return false;
    }
  }
  return true;
}
以及故障测试:

console.log(checkProperty(msg, 'features.keywords[0].text') ? msg.features.keywords[0].text : "NA");
您使用的checkProperty函数不识别方括号[和],它只理解点。所以,给它点颜色:

checkProperty(msg, 'features.keywords.0.text');

你能提供一个我们可以使用的例子吗?你可以添加你已经尝试过的数组和部分。发布你的对象的示例和你迄今为止尝试过的代码。我编辑了我的问题。谢谢
checkProperty(msg, 'features.keywords.0.text');