#javascript #json #object
Вопрос:
я хочу создать функцию javascript для поиска в файле json объекта со значением.
getByValue(value) {
//the code
}
Когда я вызываю функцию, мне нужно выполнить поиск в файле json (путь «./база данных/таблица.json»), который я передал с параметром value, и вернуть имя объекта.
Пример:
JSON file:
{"name": "test"}
getByValue(value) {
//code for search into the file
}
//search on the json file a object value with "test"
console.log(getByValue("test"))
//expected output: "name"
Ответ №1:
Вы можете сделать что-то вроде этого :
const json = { "name": "test" , "name1" : "test1"}
const getByValue = value => {
for (let key of Object.keys(json)) if (json[key] === value) return key;
}
//search on the json file a object value with "test"
console.log(getByValue("test"))
//expected output: "name"
Ответ №2:
Сначала вам нужно загрузить этот JSON в среду JS и проанализировать его для чтения. В node.js
вы можете сделать что-то вроде этого
const jsonFromFile = require('filepath/file.json')
После прочтения JSON вам просто нужно найти ключ, в котором задано значение. К этому существует несколько подходов. Базовым решением является необходимость перебора объекта и поиска соответствующего значения.
Один из таких подходов:
const findKeyBasedOnValue = (obj, value) => Object.keys(obj).find((key) => obj[key] === value)
const data = {a: 'no-test', b: 'test'}
console.log(findKeyBasedOnValue(data, 'test')) // b