我提前道歉以创造这样一个微不足道的问题,但有些事情我真的不理解。我确实在寻找这个问题的解释,但是如果你不太了解它是什么,很难找到它:)。
function sampleCode(){
var sampleArr = [{"ID":"1","date":"2015-11-24","Name":"Alan"},{"ID":"2","date":"2015-11-26","Name":"Bob"}],
returnArr = [],
innerArr = [],
simpleObj ={};
simpleObj = {
ID: sampleArr[0].ID,
Name: sampleArr[0].Name
}
innerArr.push(simpleObj);
returnArr.push(innerArr);
innerArr.pop();}
我在firefox上通过调试器使用此代码,并且在我弹出innerArr之后为什么要徘徊,为什么对象是从returnArr进行的?不会将returnArr中的内容视为与innerArr.pop()分开吗?
答案 0 :(得分:3)
对象从returnArr开始,因为你在innerArr中存储了innerArr的实例。
您可以使用此代码
function sampleCode(){
var sampleArr = [{"ID":"1","date":"2015-11-24","Name":"Alan"},{"ID":"2","date":"2015-11-26","Name":"Bob"}],
returnArr = [],
var innerArr = [],
simpleObj ={};
simpleObj = {
ID: sampleArr[0].ID,
Name: sampleArr[0].Name
}
innerArr.push(simpleObj);
returnArr.push(innerArr);
// innerArr.pop();
}
答案 1 :(得分:1)
总结一下,任何相关的事情都从定义 simpleObj 作为对象开始
{ID: "1", Name: "Alan"}
simpleObj 成为 innerArr的第一项
innerArr 成为 returnArr的第一项
您弹出 innerArr 中的第一项,这是第一项 returnArr
第一个或最后一个..每个数组中只有一个元素。