关于js多维数组的问题

qq_41261804 2018-10-13 10:03:47
比如一个多维数组

[["A","B","C"],[1,2,3],["X","Y","Z"],[7,8,9]];

如果我想单独在"A","B","C"后面加个D,该怎么写?
push是添加在数组最后, 不太适用

数组是循环赋值的
例如
var arr = [];
for(var i=0;i<10;i++){
arr.push('A','B','C');
if(i == 5){
arr.push('D');
}
}
这里就有问题了
arr[0] // A,B,C
arr[1]// D

本人小白,求教

希望能有个最简单的方法
...全文
383 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_41261804 2018-10-15
  • 打赏
  • 举报
回复
求教啊求教
难道无解吗?

引用 5 楼 jslang 的回复:
//你的数组第二维放的是对象,不是数组,对象没有push()方法,为对象添加属性直接用arr[i].tr={'id':i , 'name':'D'};

var arr = [];
for(var i=0;i<10;i++){
arr.push({ 'tq':{'id':i , 'name':'A'} , 'tw':{'id':i , 'name':'B'} , 'te':{'id':i , 'name':'C'}});
if(i == 5){
arr[i].tr={'id':i , 'name':'D'};
}
}


有效!!!

真是活到老学到老,今天又学到知识了,谢谢,十分感谢!
ChenyiMX 2018-10-14
  • 打赏
  • 举报
回复
//恕我直言,好好检查下代码 arr.push([{ 'tq':{'id':i , 'name':'A'} , 'tw':{'id':i , 'name':'B'} , 'te':{'id':i , 'name':'C'}}]);而不是 arr.push=([{ 'tq':{'id':i , //'name':'A'} , 'tw':{'id':i , 'name':'B'} , 'te':{'id':i , 'name':'C'}}]); 这样push变成对象了 你怎么还能用push方法 当然报错

var arr = [0,1,2];

for(var i=0;i<10;i++){
arr.push([{ 'tq':{'id':i , 'name':'A'} , 'tw':{'id':i , 'name':'B'} , 'te':{'id':i , 'name':'C'}}]);
if(i == 5){
arr.push({ 'tr':{'id':i , 'name':'D'} });
}
}
console.log(arr);
qq_41261804 2018-10-13
  • 打赏
  • 举报
回复
晕 写错了
arr[i].push({ 'tr':{'id':i , 'name':'D'} }) //是这样会报错

"arr[i].push is not a function"
qq_41261804 2018-10-13
  • 打赏
  • 举报
回复
arr.push[i]({ 'tr':{'id':i , 'name':'D'} }) //这里报错
qq_41261804 2018-10-13
  • 打赏
  • 举报
回复
引用 1 楼 lishunwen0825 的回复:

var arr = [["A","B","C"],[1,2,3],["X","Y","Z"],[7,8,9]];
arr[0].push("D");


这样写我早就试过了,会报错的
可能是我描述的不太对吧,因为原代码太长了

原本是这样的:
var arr = [];
for(var i=0;i<10;i++){
arr.push = ({ 'tq':{'id':i , 'name':'A'} , 'tw':{'id':i , 'name':'B'} , 'te':{'id':i , 'name':'C'}});
if(i == 5){
arr.push({ 'tr':{'id':i , 'name':'D'} }) //这里报错
}
}
如是我闻2012 2018-10-13
  • 打赏
  • 举报
回复

var arr = [["A","B","C"],[1,2,3],["X","Y","Z"],[7,8,9]];
arr[0].push("D");
天际的海浪 2018-10-13
  • 打赏
  • 举报
回复
//你的数组第二维放的是对象,不是数组,对象没有push()方法,为对象添加属性直接用arr[i].tr={'id':i , 'name':'D'};
var arr = [];
for(var i=0;i<10;i++){
	arr.push({ 'tq':{'id':i , 'name':'A'} , 'tw':{'id':i , 'name':'B'} , 'te':{'id':i , 'name':'C'}});
	if(i == 5){
		arr[i].tr={'id':i , 'name':'D'};
	}
}

87,997

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧