如何获取对象数组中的值

How to obtain a value in an array of objects

在 p5 javascript 库中,有一个内置函数 {key} 就是您按下的键。例如 text(${key},200,200) 将显示您在 200,200 上按下的任何键。如果我要将 {key} 值压入一个数组,以便该数组具有您按下的键值,然后 console.log() 数组中的值,您将得到:Object {key: "a}。如果你要把它放到一个文本中,比如说你按下“A”,然后你把 A 推到数组中。然后你把它放到文本中(授予 A 是数组中唯一的值)text(Array_Of_Text[0],Xposition,Yposition); 文本很简单“对象,对象”所以我假设我必须从对象中找到值,但我不知道该怎么做。

let Text = [];

function setup() {
  createCanvas(400, 400);
}

function draw() {
background(220);
text(Text[0],200,200);
console.log(Text[0])

}
function keyPressed()
{
  Text.push({key})
}

你不需要 key 两边的大括号,你可以直接说 Text.push(key).

内置函数只是key,而不是{key}。当你用括号括起来时,它根据 ES6 syntax 变成一个对象。所以如果key === "a",写{key}和写{key: "a"}是一样的:

let key = "a";
console.log({ key });
console.log({ key: "a" });

上面的代码会打印两次“Object {key: "a"}”。您无法使用 ===== 进行测试,因为 JavaScript doesn't work like that.

对于任何其他变量或数据类型也是如此:如果 valu === 200,则 {valu}{valu: 200}:

相同
let valu = 200;
console.log({ valu });
console.log({ valu: 200 });
//prints "Object {valu: 200}" twice

您可以在 javascript 中嵌套内容。我认为您甚至可以引用以下对象:Text[0][0]。因为你完全可以有一个: let string = "hello"; console.log(字符串[0])
> “h”

if(Text[0].key !== undefined){
    console.log(Text[0].key)
}

(我想这已经有人回答了)