有没有办法找到嵌套对象属性的同级值?

问题描述

这是我的结构:

var obj = {
  apple: {
     name: "Apple Juice",description: "",},orange: {
     name: "Orange Juice",}
}

我想在不使用父级 (apple) 的情况下通过名称找出 orangeobj.apple.description 的描述

是否有类似 obj.apple.name.siblingProperty 的东西可以使用 description 获取 name 的值?

解决方法

您可以遍历对象键,在该对象中找到name的索引,然后获取下一个索引以获取description

var obj = {
  apple: {
     name: "Apple Juice",description: "",},orange: {
     name: "Orange Juice",}
}

function getNextKey(object,key) {
  var keys = Object.keys(object);
  var keyIndex = keys.indexOf(key);
  var nextKey = keys[keyIndex + 1];
  console.log(nextKey + ": " + object[nextKey]);
}

getNextKey(obj.apple,"name");
getNextKey(obj.orange,"name");

,

您应该在对象上使用代理,而在处理程序中只需使用 get 函数即可。现在您可以为所欲为。这是我的代码

cmake_minimum_required(VERSION 3.16)
project(ZLIB__test)

set(CMAKE_CXX_STANDARD 11)

add_subdirectory("third_party/zlib")

add_executable(ZLIB__test main.cpp)
target_link_libraries(ZLIB__test ZLIB::ZLIB)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...