NodeJS 在数组或对象中查找值

iaqfqrcu  于 2023-01-16  发布在  Node.js
关注(0)|答案(4)|浏览(376)

我想在一个有路径的数组中找到一个值。
示例:

var object = {
              "value1": [
                {
                  "valueinarray": "myvalue"
                }
              ]
            }
var array = [
              {
                "value1": {
                  "value2": [
                    {
                      "valueinarray": "myvalue"
                    }
                  ]
                }
              }
            ]

现在我想用类似value1 [0]或[0]的路径获取myvalue。value2 [0]
我问了一个类似的问题,但它不适用于数组:How do i get the value of an object in a object string

dxpyg8gm

dxpyg8gm1#

如果您正在使用JS对象,如下所示,那么它是一个错误的对象
变量数组= [“值1”:{“数值2”:[“数组中的值”:“我的值”] } ]
对象可以重构为
变量数组= [ {“值2”:[ {“数组中的值”:“我的值”} ]} ]
并且可以按如下方式获取值
数组[0]。值2 [0]
不知道这是不是你的问题。

ktecyv1j

ktecyv1j2#

您给数组赋值的语法错误。需要使用大括号{ }将键值对放入数组中。例如:值2:[ {“数组中的值”:“我的值”} ]。

var object = {
              "value1": [
                {
                  "valueinarray": "myvalue"
                }
              ]
            }

console.log(object.value1[0].valueinarray);

var array = [
              {
                "value1": {
                  "value2": [
                    {
                      "valueinarray": "myvalue"
                    }
                  ]
                }
              }
            ]
            
console.log(array[0].value1.value2[0].valueinarray);
cwtwac6a

cwtwac6a3#

console.log(object.value1[0].valueinarray);
var array = [{"value2": ["myvalue"]}];
console.log(array[0]['value2'][0]);
bbuxkriu

bbuxkriu4#

来自cmgchess的注解是解决方案

var object = { "firstKey": { "SomeName": "SomeValue" } }
var path = "firstKey.SomeName"

const lodash = require("lodash")
lodash.get(object, path) // SomeValue

相关问题