Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/478.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在javascript中显示已访问对象的键_Javascript_Jquery - Fatal编程技术网

如何在javascript中显示已访问对象的键

如何在javascript中显示已访问对象的键,javascript,jquery,Javascript,Jquery,我希望能够获得并使用js中选定对象的键 假设我有以下包含其他对象的对象 verts = { A: {x: 7.5, y: 0, z: -7.5}, B: {x: 0, y: 0, z: -15 } 例如,如果我可以通过以下方式访问项目A: console.log(verts.A) 它将显示对象内的值(即x:7.5,y:0,z:-7.5),但我不知道如何访问选定对象键,即在本例中为“A”。我希望能够将其存储为变量,以便稍后用作字符串。我觉得我应该能够在某个地方写下this.key或this[k

我希望能够获得并使用js中选定对象的键

假设我有以下包含其他对象的对象

verts = { A: {x: 7.5, y: 0, z: -7.5}, B: {x: 0, y: 0, z: -15 }
例如,如果我可以通过以下方式访问项目A:

console.log(verts.A)
它将显示对象内的值(即x:7.5,y:0,z:-7.5),但我不知道如何访问选定对象键,即在本例中为“A”。我希望能够将其存储为变量,以便稍后用作字符串。我觉得我应该能够在某个地方写下this.key或this[key],但我在这里找不到合适的答案。我正在使用jquery,所以如果有快速的方法使用它,谢谢


感谢您一如既往的建议

一旦您使用密钥读取了对象,就不再有指向您使用的密钥的链接

您可以做的最好的事情是将正在使用的键存储在变量中,然后使用方括号表示法读取它:

var-verts={A:{x:7.5,y:0,z:-7.5},B:{x:0,y:0,z:-15};
var键='A';
var结果=顶点[关键点];

控制台日志(键、结果)你让事情变得更加复杂了。如果您在某个时刻知道您正在使用哪些键(而且看起来您知道),那么您需要做的就是确保这些键被传递给需要它们的任何东西

像这样:

//vertices stored as objects
verts = { A: {x: 7.5, y: 0, z: -7.5}, B: {x: 0, y: 0, z: -15}, C: {x: 0, y: 0, z: -7.5} }

//make a triangle using accessed vertices
makeTriangle(verts, 'A', 'B', 'C')

function makeTriangle(vertices, key1, key2, key3){
    $("example").append('\
    <a-triangle\
        id="' + key1 + '_'+ key2 + '_'+ key3 + '"\
        vertex-a="' + vertices[key1](joined) + '"\
        vertex-b="' + vertices[key2](joined) + '"\
        vertex-c="' + vertices[key3](joined) + '"\
    </a-triangle>');
}
//存储为对象的顶点
顶点={A:{x:7.5,y:0,z:-7.5},B:{x:0,y:0,z:-15},C:{x:0,y:0,z:-7.5}
//使用访问的顶点创建三角形
生成三角形(顶点“A”、“B”、“C”)
函数makeTriangle(顶点、键1、键2、键3){
$(“示例”).append('\

“选定对象”是什么意思?请提供一些代码的示例,其中有一个选定的对象。感谢JLRishe,可能我使用了错误的术语,但如果您查看我的示例,我可以通过将其记录到控制台来访问verts.a的值,但我只能看到verts.a的值,而不能看到键,即,您可能会发现键不属于该对象,因此,通常情况下,您无法从对象中获取密钥。您能否提供一个示例,说明您需要此密钥的情况?可能还有另一种方法可以实现此目的。您好,JLRishe,谢谢,下面的提琴中有一些说明性代码(即它不起作用,但显示了我希望实现的类型)任何想法都欢迎Hanks Jamiec-我想知道是否会是这样,也许我有它的唯一用例,但似乎能够做到这一点会很好do@Nick见更新。它不是理想的IMO,但符合您的要求。谢谢Jamiec,它不像我希望的那样简洁,但它工作得很好,谢谢您这是一个很好的解决方案,thank you JLRishe。我将使用这种方法,因为我控制着钥匙,但如果你不控制,另一个答案会很好。非常感谢你看这个