Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/457.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 从for循环中形成一个数组_Javascript - Fatal编程技术网

Javascript 从for循环中形成一个数组

Javascript 从for循环中形成一个数组,javascript,Javascript,我有一个for循环,在这个循环中,我一个接一个地获取所有值,但我需要将这些值形成一个数组 任何人都可以告诉我如何将所有值形成一个数组 for (var i = 0; i < marray.length; i++) { mId = marray[i].id; var yourArray = []; yourArray.push(marray); console.log(marray); } 您正在为每个循环迭代创建一个新的yourArray。不要这样做,而是

我有一个for循环,在这个循环中,我一个接一个地获取所有值,但我需要将这些值形成一个数组

任何人都可以告诉我如何将所有值形成一个数组

for (var i = 0; i < marray.length; i++) {
    mId = marray[i].id;
    var yourArray = [];
    yourArray.push(marray);
    console.log(marray);
}

您正在为每个循环迭代创建一个新的
yourArray
。不要这样做,而是在开始循环之前只创建一次:

var yourArray = [];
for (var i = 0; i < marray.length; i++) {
    mId = marray[i].id;
    yourArray.push(mId);
}

在IE 8中,这最后一个版本不会开箱即用,因此,如果您关心这一点,您需要采取适当的措施。

在外部for循环中,贴花是可变的

  var yourArray = [];


     for (var i = 0; i < marray.length; i++) {
                    mId = marray[i].id;
                    yourArray.push(mid);

                }
 console.log(yourArray);
var yourray=[];
对于(变量i=0;i
在循环之前初始化
您的数组

试试这个

var yourArray = [];
for (var i = 0; i < marray.length; i++) {
    mId = marray[i].id;
    yourArray.push(mId);
}
var yourray=[];
对于(变量i=0;i
每次进入循环时,
var yourArray
将初始化为null。在循环外定义它

只需将var yourray=[];出发前loop@Kermani这会有什么帮助呢?每一个都像php中的foreach(),我认为这可能会对您有所帮助—您不需要在循环中声明数组。在循环开始之前声明它。谢谢你的回答。它工作得很好,是否有其他方法来减少代码,因为我有两个for循环,它只是一直循环,一旦值出现,循环本身应该在那里中断。我没有否决,但是使用数组中的
for…in
for数组对于数组上的顺序循环不是一个好的实践。在这种情况下,您应该使用
for
。请参阅以获取答案。虽然此代码块可能会回答此问题,但最好您能提供一些解释,说明为什么会这样做。我尝试使用.map,但它不起作用。你能帮帮我吗out@user1853128:如果它对您不起作用,那么您正在犯一些错误。请发布一个新的问题,解释你做了什么,你期望什么以及发生了什么。有空的人会回答。谢谢jon,为了在循环完成后中断语句,我应该使用return false还是break。@user1853128:“中断语句”是什么意思?再说一次,我不能确切地说出你在问什么,因为只有一个非常模糊的描述。当你对某事不确定时,请使用适当的术语并提出适当的完整问题。
  var yourArray = [];


     for (var i = 0; i < marray.length; i++) {
                    mId = marray[i].id;
                    yourArray.push(mid);

                }
 console.log(yourArray);
var yourArray = [];
for (var i = 0; i < marray.length; i++) {
    mId = marray[i].id;
    yourArray.push(mId);
}