Javascript 基于索引将一行元素插入多维数组
基于索引将一行元素插入多维数组 例如:Javascript 基于索引将一行元素插入多维数组,javascript,Javascript,基于索引将一行元素插入多维数组 例如: MultiArray = new Array(5); MultiArray [0] = new Array(2); MultiArray [0][0] = "Tom"; MultiArray [0][1] = "scientist"; MultiArray [1] = new Array(3); MultiArray [1][0] = "Beryl"; MultiArray [1][1] = "engineer"; MultiArray [
MultiArray = new Array(5);
MultiArray [0] = new Array(2);
MultiArray [0][0] = "Tom";
MultiArray [0][1] = "scientist";
MultiArray [1] = new Array(3);
MultiArray [1][0] = "Beryl";
MultiArray [1][1] = "engineer";
MultiArray [1][2] = "Doctor";
MultiArray [2] = new Array(2);
MultiArray [2][0] = "Ann";
MultiArray [2][1] = "surgeon";
MultiArray [3] = new Array(2);
MultiArray [3][0] = "Bill";
MultiArray [3][1] = "taxman";
MultiArray [4] = new Array(2);
MultiArray [4][0] = "Myrtal";
MultiArray [4][1] = "bank robber";
MultiArray.splice(1,0, new Array(2){"two","one"});
代码中的最后一行不起作用。我也不确定代码的其余部分是否正确
现在有人能告诉我是否可以在中间插入一行元素并将其余元素下移一个索引吗?试试:
MultiArray.splice(1,0, ["two","one"]);
尝试:
MultiArray.splice(1,0, ["two","one"]);
您意外地编写了
新数组{}
,这是错误的-您的命令应该是:
MultiArray.splice(1,0, new Array(2)("two","one")); // no curled brackets!!
甚至更好
MultiArray.splice(1,0, ["two","one"]);
总之,在javascript中应该避免使用new Array()
符号(js自动控制其数组的维度,无需预先分配或声明)。相反,你可以写:
MultiArray = [];
所以,你可以直接写:
MultiArray = [[ "Tom","scientist"],["Beryl","engineer","Doctor"],
["Ann","surgeon"],["Bill","taxman"],["Myrtal","bank robber"]];
MultiArray.splice(1,0, ["two","one"]);
您意外地编写了
新数组{}
,这是错误的-您的命令应该是:
MultiArray.splice(1,0, new Array(2)("two","one")); // no curled brackets!!
甚至更好
MultiArray.splice(1,0, ["two","one"]);
总之,在javascript中应该避免使用new Array()
符号(js自动控制其数组的维度,无需预先分配或声明)。相反,你可以写:
MultiArray = [];
所以,你可以直接写:
MultiArray = [[ "Tom","scientist"],["Beryl","engineer","Doctor"],
["Ann","surgeon"],["Bill","taxman"],["Myrtal","bank robber"]];
MultiArray.splice(1,0, ["two","one"]);
爪哇!=javascript。我删除了java标记。@为什么?编写
新数组(10)
@Sushil:不,它不是:)是完全可以的。继续并尝试:vara=newarray(10);console.log(a.join(“wat”))代码>@YuryTarabanko,是的,你是对的。感谢您指出。MultiArray.splice(1,0,MultiArray.splice(2,1))代码>允许这样做吗?我尝试这样做是因为splice()返回一行数组,但它不起作用。java!=javascript。我删除了java标记。@为什么?编写新数组(10)
@Sushil:不,它不是:)是完全可以的。继续并尝试:vara=newarray(10);console.log(a.join(“wat”))代码>@YuryTarabanko,是的,你是对的。感谢您指出。MultiArray.splice(1,0,MultiArray.splice(2,1))代码>允许这样做吗?我尝试这样做是因为splice()返回一行数组,但它不起作用。