这很简单,我想在数组中添加一个未定义的元素,假设我有一个数组Punkt,我有punkt[0] = x: 15, y:"16s"
。正如我所知道的那样。该元素总共有4个punkt我想向punkt[3]
添加一个未定义的元素,以便其他punkt[1]
和punkt[2]
也将成为undefined
。
我需要这个,因为稍后在我的代码中我会检查undefined
,并根据此错误抛出错误。
Racks是一个包含Punkt
对象数组的对象punkt[0] = {
x: 5,
y: "16s" }
我尝试了什么:
racks[trimdevID].punkt[$('#posTable tr:last td:first').text()] = undefined;
答案 0 :(得分:2)
undefined
是built in property of the global object,而且确实是您所需要的,例如is working这样的代码:
var arr = [];
arr.push(undefined);
alert(typeof arr[0]);
这意味着您的问题在其他地方,从快速查看是因为您使用的是非整数索引。试试这个,它应该工作:
var index = parseInt($('#posTable tr:last td:first').text(), 10);
if (!isNaN(index))
racks[trimdevID].punkt[index] = undefined;
答案 1 :(得分:1)
您可以在数组
中尝试 .pushyourArray.push(undefined)
i = 0; //Position Of Undefined
console.log(typeof yourArray[i])
答案 2 :(得分:1)
您当然可以使用push()例程(请参阅http://www.w3schools.com/jsref/jsref_push.asp)。在您的示例中,这看起来像:
// push two undefined elements:
racks[trimdevID].punkt.push(undefined)
racks[trimdevID].punkt.push(undefined)
假设您已经在数组中准确地拥有两个元素,并且您只需要四个元素。更通用的版本是:
var newLength = 4;
for (var idx = racks[trimdevID].punkt.length; idx <= newLength; idx++)
{
racks[trimdevID].punkt.push(undefined);
}
我相信其他类似的堆栈问题也有相同的答案。您可以查看此问题以获取更多示例(How to initialize an array's length in javascript?)