插入到2D数组中-JavaScript
我已经找到了几篇关于这个话题的文章,但我仍然有一个问题。我需要java脚本中的2D数组。第一个索引将是文章数(0…x),在第二个索引中,我需要4个值(关键字、标题、描述、url)。这是我的密码插入到2D数组中-JavaScript,javascript,arrays,Javascript,Arrays,我已经找到了几篇关于这个话题的文章,但我仍然有一个问题。我需要java脚本中的2D数组。第一个索引将是文章数(0…x),在第二个索引中,我需要4个值(关键字、标题、描述、url)。这是我的密码 var news = new Array; .... news[newsCount] = new Array; for (var i in values){ var row = values[i]; var keyword = row[0]; var title = row[1
var news = new Array;
....
news[newsCount] = new Array;
for (var i in values){
var row = values[i];
var keyword = row[0];
var title = row[1];
var description = row[2];
var url = row[3];
news[i][0] = keyword;
news[i][1] = title;
news[i][2] = description;
news[i][3] = url;
}
在变量中,关键字、标题、描述和url是正确的数据,我需要将它们放到新闻数组中。有人能帮我吗?提前谢谢。我认为您的问题是数组没有实例化,您是否尝试在分配之前添加新闻[I]=[]了?您无法使用
新闻[newscont]
设置数组的大小(您不需要)
而不是像您那样初始化数组的第一级
然后在迭代中添加第二个级别
使用新闻[i]=[]
值=[[“a1”、“a2”、“a3”、“a4”]]
var news=新数组;
用于(值中的var i){
新闻[i]=[]
var行=值[i];
var关键字=行[0];
var title=第[1]行;
变量说明=第[2]行;
var url=行[3];
新闻[i][0]=关键词;
新闻[i][1]=标题;
新闻[i][2]=说明;
新闻[i][3]=网址;
}
控制台日志(新闻)代码>为什么不使用push()将每个新闻项添加到数组中?像这样:
news = []
for (i=0;i<values.length; i++){
var row = values[i].slice(0,4);
//you dont need these lines, you can use slice instead
//var keyword = row[0];
//var title = row[1];
//var description = row[2];
//var url = row[3];
news.push(row)
}
news=[]
对于(i=0;i是否需要初始化数组大小?请尝试运行:var x=[];x[3]=“hi”;console.log(x.length)
这将返回4。不,你不需要,我也不会这样做@nickzoumI知道,但第一句话有点误导。你能在回答中说你不必设置数组的大小,因为它看起来不像OP知道的那样。@nickzoum谢谢你的建议,我把它添加到了答案中。是的,但是我不能接受关键字或标题。如果我获取第[0][0]行,它只返回第一个字符。只需使用第[0]行获取标题等的关键字或第[1]行即可。