[英]cannot access the array if the name is an int
基本上我有一个包含两个对象数组的对象。 我有一个变量“valuesToDelete”,它是一个包含要删除的“ID”号的数组。 我的代码现在可以工作了,因为我将两个对象数组的名称重命名为“famille1”和“famille2”。 然而,这两个数组最初被命名为“3456”和“2345”。 当它是一个数字时,我似乎无法访问该数组。
const clientData = {
famille1: [
{ ID: 1, name: "Anas", age: 23 },
{ ID: 2, name: "Marie", age: 21 },
{ ID: 3, name: "Mathilde", age: 24 },
{ ID: 4, name: "Mathilde", age: 24 },
{ ID: 5, name: "Mathilde", age: 24 },
{ ID: 6, name: "Mathilde", age: 24 },
{ ID: 7, name: "Mathilde", age: 24 },
{ ID: 8, name: "Mathilde", age: 24 }
],
famille2: [
{ ID: 9, name: "Eric", age: 15 },
{ ID: 10, name: "Alexandre", age: 61 },
{ ID: 11, name: "Cedric", age: 45 }
]
},
valuesToDelete = [2, 4, 8, 7, 10, 11],
key = "ID",
filterHandler = (o) => !valuesToDelete.includes(o[key]);
clientData.famille1 = clientData.famille1.filter(filterHandler);
clientData.famille2 = clientData.famille2.filter(filterHandler)
console.log(clientData);
JavaScript 中的变量不能以数字开头。 这是您会收到的语法错误:
标识符或关键字不能紧跟数字文字。
这可以通过在变量名称前加上前缀来解决,例如f3456
或f2345
。
或者,您可以将对象命名为字符串,因为这是允许的。 像"3456": [{...}]
或"2345": [{...}]
这样的东西会起作用,你可以在你的代码中使用clientData["3456"]
而不是clientData."3456"
来访问它们。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.