Kein Problem beim Testen, aber manchmal Fehler „Eigenschaft von Null kann nicht gelesen werden (‚Spitzname‘ lesen)“ . Ich habe einen Teil des Codes gepostet.
let seat = [ null, null, { nickname: "user1", uuid: "d94e81f3-df66-45f6-a593-c7ee6ccfe261" }, null, { nickname: "user2", uuid: "d94e81f3-df66-45f6-a593-c7ee6ccfe261" }, null, null, null, null, null, null, ]; for (const i in seat) { if (seat[i].nickname === "user1") { seat[i] = null; break; } } console.log(seat);
Ich weiß nicht, warum es manchmal kein Problem gibt, aber plötzlich gibt es einen Fehler.
for (const i in seat) { if (seat[i] !== null && seat[i].nickname === "user1") { seat[i] = null; break; } }
Ich habe das Problem vorübergehend gelöst, indem ich den Code in der obigen Form geändert habe. Ich bin neugierig, warum...
这是因为数组中的一些元素是空值,所以你应该添加一个条件来检查,就像你所做的
seat[i] !== null
,但你也可以使用可选链操作符?.
。参考:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/Optional_chaining
示例: 如果你的数据像下面这样,你不需要添加条件或可选链操作符。