如何检查对象中是否存在字符串?

How to check a string is present in an object or not in js?

注意:OP 询问如何改进他们的工作代码

我想检查对象中是否存在 string.substring(1)。如果它存在,则 return 它来自对象,否则 return 为空。我写了下面的伪代码。

例如,如果我的字符串是 *Test Title,我想检查这个没有第一个字母的字符串,即 string.substring(1) 存在于给定对象中,数组值为 title 这里它存在。所以我们需要returnTest Title。如果我通过 *Test1 因为它不存在 title 它应该 return ''

let string = '*Test Title'

let string1 = '*Test1'

let object = {
    "0": [
        "para",
        "WZYYoPd3ummvxQN0"
    ],
    "1": [
        "insertorder",
        "first"
    ],
    "2": [
        "lmkr",
        "1"
    ],
    "3": [
        "title",
        "Test Title"
    ],
    "4": [
        "para",
        "Test1"
    ],
}

const b = Object.entries(object)
  .filter(value => value[1])
let str = ''
const c = b.filter(a => a[1][0] === 'title')
if (c.length) {
  c.filter((key) => {
    key[1].filter((n) => {
      if (n != 'title' && n === string.substring(1)) {
        str = n;
      }
    })
  })
}
if (str === '') {
  console.log(string);
} else {
  console.log(str);
}

代码工作正常。我想知道是否有任何简化的余地?谁能帮帮我?

如果我没理解错的话,如果内部列表的第一个元素是 'title' ,那么只需要检查 string 是否存在。 所以你可以试试这个:

let str = '';
for(var key in obj) {
    if(obj[key][0] === "title") {
        str = obj[key][1] === string.substring(1) ? obj[key][1] : '';
        break;
    }
}