Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/391.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
插入到2D数组中-JavaScript_Javascript_Arrays - Fatal编程技术网

插入到2D数组中-JavaScript

插入到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

我已经找到了几篇关于这个话题的文章,但我仍然有一个问题。我需要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 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]行即可。