查找嵌套对象的键和 return 其路径
Find key of nested object and return its path
有没有人知道一个好的 javascript npm 包(或有一些好的功能)来找到 JSON 键和 return 它的路径(或者如果键存在不止一次的路径在嵌套 JSON)
for example:
var person={
"name":myName,
"address":{
"city",
"location":{
"long":123,
"lat":456
}
"long"
我想使用一个函数来 return 这个键的路径,在上面的例子中键 "long" 存在两次:
console.log(getKeyPath(person,"long");
//address.long , 长
使用obj-flatten
你可以把它做成一个平面对象:
var person = {
"name": "your name"
"location.long": 123,
"location.lat": 456,
"long": 42,
...
}
然后您只需按该模式查询即可:
var searchKey = "long";
var yourKeys = Object.keys(person).filter(function (c) {
return c.split(".").indexOf(searchKey) !== -1;
});
// => ["location.long", "long"]
Native javascript 如果您正在学习这门语言,我们始终推荐您使用,但您可以使用 lodash 库。
https://lodash.com/docs/4.17.4#at
阅读一些方法,例如 _.at()、_.has() 或 _.findKey()
有没有人知道一个好的 javascript npm 包(或有一些好的功能)来找到 JSON 键和 return 它的路径(或者如果键存在不止一次的路径在嵌套 JSON)
for example:
var person={
"name":myName,
"address":{
"city",
"location":{
"long":123,
"lat":456
}
"long"
我想使用一个函数来 return 这个键的路径,在上面的例子中键 "long" 存在两次:
console.log(getKeyPath(person,"long");
//address.long , 长
使用obj-flatten
你可以把它做成一个平面对象:
var person = {
"name": "your name"
"location.long": 123,
"location.lat": 456,
"long": 42,
...
}
然后您只需按该模式查询即可:
var searchKey = "long";
var yourKeys = Object.keys(person).filter(function (c) {
return c.split(".").indexOf(searchKey) !== -1;
});
// => ["location.long", "long"]
Native javascript 如果您正在学习这门语言,我们始终推荐您使用,但您可以使用 lodash 库。 https://lodash.com/docs/4.17.4#at
阅读一些方法,例如 _.at()、_.has() 或 _.findKey()