Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/416.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 基于索引将一行元素插入多维数组_Javascript - Fatal编程技术网

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()返回一行数组,但它不起作用。