【发布时间】:2015-11-02 17:42:20
【问题描述】:
我正在尝试创建一个对象并让每个对象的名称都是唯一的。这些对象将有一个名称、一个数字和一个为空的第二个数字(我打算稍后计算)。
是否可以有一个以1 变量命名的对象,然后在函数末尾增加变量以便下一个对象是2?
我收到了 ID 号值的警报,它显示为 NaN
在我的小提琴中,我有一个按钮可以将数组中的每个对象附加到一个列表中,以便我可以检查它们。他们以[ object Object ] 出现。
如果我以后想在每个对象中使用number 字段来执行计算,这应该是对象的对象而不是对象数组吗?
我相信我想要坚持使用我的示例对象的格式(除非有理由以另一种方式做得更好),因为它遵循 w3schools 上的示例。
我做错了什么?
HTML:
<input type="text" placeholder="Name" id="name"> <input type="text" placeholder="Number" id="number">
<br>
<button id="makeObject">Make Object</button>
<button id="show">Show Me The Objects</button>
<ul id="list"></ul>
JavaScript:
/*Sample ideal object
1 = {
name: John Doe
number: 52
newNumber: null
}
*/
var arrayOfObjects = [];
var id = 1;
$(document).ready(function(){
$('#makeObject').on('click', function(){
var number = (parseInt($('#Number').val()));
var name = $('#Name').val();
arrayOfObjects.push(id = {
number: number,
name: name,
newNumber: null
});
id++;
alert("The id is now: " + id);
$('#Number').val("");
$('#Name').val("");
});
$('#show').on('click', function(){
$('#list').html("");
for (i = 0; i < arrayOfObjects.length; i++) {
$('#list').append("<li>" + arrayOfObjects[i] + "</li>");
};
});
});
【问题讨论】:
-
无论你做什么,对象键都是字符串,即使这些字符串代表数字。另一方面,变量只是为了方便程序员而使用的任意名称。你有什么问题?
-
为什么不使用对象数组?
-
JavaScript 对象名称不能以数字开头:stackoverflow.com/a/9337047/1028949
-
@Quantastical 这不是“对象名”而是“变量名”。
-
@tadman,你是对的。变量名不能以数字开头。
标签: javascript jquery arrays object javascript-objects