Я пытаюсь отфильтровать этот объект JSON по ключам:
Данные выглядят так
key1: value1
key2: value2
key3: value3
key4: value4
key5: value5
key6: value6
key7: value7
key8: value8
key9: value9
В настоящее время я переименовываю ключи, чтобы они соответствовали этой структуре, а затем пытаюсь их отфильтровать.
var reassaignedKeys;
props.data.map((entries, valuesIndex) => {
reassaignedKeys = Object.assign({}, {Owner: entries[0], ApplicationId: entries[1], ApplicationName: entries[2], Status: entries[3], DeploymentStatus: entries[4], Classification: entries[5], PersonalBindle: entries[6], PerviouslyCertified: entries[7], Goal: entries[8]})
})
console.info(reassaignedKeys)
Этот код выше я использую для переименования ключей. Теперь я не понимаю, как отфильтровать ключ и значение с помощью ключа.
Я знаю, что могу использовать
Object.keys.filter
Но я не получаю желаемых результатов, потому что он продолжает возвращать мне тот же массив.
Пожалуйста, добавьте к своему вопросу любой соответствующий код JavaScript в качестве минимально воспроизводимого примера. Вы можете использовать инструмент фрагмента [<>] на панели инструментов редактирования вопроса, чтобы помочь вам. Вам также следует добавить пример ожидаемого результата.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Я не совсем понимаю, чего вы не хотите, но если вы хотите получить пары ключ или ключ-значение и при условии, что ваш JSON верен
так.
[{"key1":"value1"},
{"key2":"value2"},
{"key3":"value3"},
{"key4":"value4"},
{"key5":"value5"},
{"key6":"value6"},
{"key7":"value7"},
{"key8":"value8"},
{"key9":"value9"}]
Чем вы можете JSON.parse проанализировать объект JSON to JS и использовать
Чтобы получить ключи
Object.keys(converted_obj_from_json);
Чтобы получить пары ключ-значение
Object.entries(converted_obj_from_json);
Вы можете сделать что-то вроде этого:
const filteredJson = Object.entries(originalJson).reduce((acc,[key,value])=>{
const isValidKey = key !== 'A' // for exemple
if (!isValidKey) return acc
return {
...acc,
[key]:value}
},{})
Вы также можете использовать функции lodash PickBy или omitBy.
Просто получите свои записи с помощью
const entries = data.flatMap(Object.values);
const data = [{"key1":"value1"},
{"key2":"value2"},
{"key3":"value3"},
{"key4":"value4"},
{"key5":"value5"},
{"key6":"value6"},
{"key7":"value7"},
{"key8":"value8"},
{"key9":"value9"}];
const entries = data.flatMap(Object.values);
const reassaignedKeys = Object.assign({}, {Owner: entries[0], ApplicationId: entries[1], ApplicationName: entries[2], Status: entries[3], DeploymentStatus: entries[4], Classification: entries[5], PersonalBindle: entries[6], PerviouslyCertified: entries[7], Goal: entries[8]});
console.info(reassaignedKeys)
The data looks like thisэто не JSON - даже неясно, какова фактическая структура - также нет указаний на то, какиеprops.dataиreassaignedKeysбудут значением только последней итерации этого.map