Найти свойства объекта, выполнив поиск ключей по строке, и если один из них равен true, вернуть как true - PullRequest
0 голосов
/ 20 февраля 2020

Я хочу go через Объект и найти ключ со строкой. Я хочу, чтобы ablity посмотрел, есть ли более одного ключа со строкой.

Так что, если у меня есть строка "launch_on", тогда я хочу найти свойство с именем "launch_on" и другое имя "start_on & format" Я хочу go, чтобы увидеть, есть ли у каждого «2013-март-03», и если да, вернуть как истинное

Я много использовал Loda sh, и я чувствую, что есть способ чтобы сделать это, но я пока ничего не придумаю. Если кто-нибудь знает способ поиска по ключу, по крайней мере, я могу начать меньше играть с ним больше.

Спасибо за чтение

Ответы [ 3 ]

2 голосов
/ 20 февраля 2020
const obj = {...};  
let string = "started_on";  
let valueToMatch = "2013-Mar-03"; 

const result = Object.keys(obj).filter(key => key.includes(string)).some(key => obj[key] === valueToMatch)

console.log(result) // <== will be true if any key with string "started_on" has value "2013-Mar-03"
0 голосов
/ 20 февраля 2020
const myObj = { a: 'bu', b: 'mu', c: 'bubu' }
const filtredKeys = Object.entries(myObj).filter(e => e[1].contains("bu")).map(e => e[0])
 output => ["a", "c"]
0 голосов
/ 20 февраля 2020

Я думаю, это то, что вы хотите сделать?

function findMatchingKeysWithValue(
  keysToMatch: string, 
  valueToMatch: string, 
  obj: {[key: string]: any}): string[] {
  return Object.keys(obj)
   .filter(key => key.startsWith(toMatch))
   .filter(key => obj[key] === valueToMatch)
}
...