Javascript 从for循环中形成一个数组
我有一个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 (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);
}