Избегайте получения индексов массива через обход объекта JSON - PullRequest
0 голосов
/ 03 июля 2019

МЕТОД: -

const getAllKeys = obj => _.union(
  _.keys(obj),
  _.flatMap(obj, o => _.isObject(o) ? getAllKeys(o) : [])
)

ОБРАЗЕЦ JSON: -

const arr = {"{"name":"Base Url","url":"https://kubemanagement-prod.kohls.com"},{"name":"Base Url newwww","url":"https://batman.com"}}

const result = getAllKeys(arr)
console.log(result);

Результат: -

["0", "1", "name", "url"]

Где в наборе результатов мне нужно избегать получения индекса массива, равного "0" и "1" Есть идеи, как это сделать? Мне нужен только отдельный ключ без индексов массива.

Язык: угловой 4 + lodash + javascript

1 Ответ

2 голосов
/ 03 июля 2019

Использование _.keys()

const arr = [{"name":"Base Url","url":"https://kubemanagement-prod.kohls.com"},{"name":"Base Url newwww","url":"https://batman.com"}]

const getAllKeys = obj => _.uniq(
  _.flatMap(obj, o => _.isObject(o) ? _.keys(o) : [])
)

console.log(getAllKeys(arr))
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.11/lodash.js"></script>
...