Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.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 arr.pop()从其他数组中弹出元素_Javascript_Arrays_Object - Fatal编程技术网

Javascript arr.pop()从其他数组中弹出元素

Javascript arr.pop()从其他数组中弹出元素,javascript,arrays,object,Javascript,Arrays,Object,我很抱歉提前提出了这样一个琐碎的问题,但有一点我真的不明白。我确实在寻找这个问题的解释,但如果您不太了解发生了什么,就很难找到它:) 我通过firefox上的调试器来处理这段代码,我想知道为什么在我弹出innerArr之后,为什么要从returnArr弹出对象?returnArr中的内容不被认为是与innerArr.pop()分开的吗 正在从returnArr弹出对象,因为您正在returnArr中存储innerArr的实例 您可以使用此代码 function sampleCode(){

我很抱歉提前提出了这样一个琐碎的问题,但有一点我真的不明白。我确实在寻找这个问题的解释,但如果您不太了解发生了什么,就很难找到它:)


我通过firefox上的调试器来处理这段代码,我想知道为什么在我弹出innerArr之后,为什么要从returnArr弹出对象?returnArr中的内容不被认为是与innerArr.pop()分开的吗

正在从returnArr弹出对象,因为您正在returnArr中存储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();
}

对象正在从returnArr弹出,因为您正在returnArr中存储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();
}

总之,任何相关内容都是从定义simpleObj为对象开始的

{ID:“1”,Name:“Alan”}

  • simpleObj成为innerArr的第一项

  • innerArr成为returnArr的第一项

  • 您可以从innerArr弹出第一个项目,这是returnArr的第一个项目的第一个项目


第一个还是最后一个。。每个数组中只有一个元素。

总之,任何相关的元素都是从定义simpleObj为对象开始的

{ID:“1”,Name:“Alan”}

  • simpleObj成为innerArr的第一项

  • innerArr成为returnArr的第一项

  • 您可以从innerArr弹出第一个项目,这是returnArr的第一个项目的第一个项目


第一个还是最后一个。。每个数组中只有一个元素。

我不确定是否完全理解您的问题,但是,当您将innerArr推入returnArr时,您正在存储对同一实际数组的引用。所以,如果你从innerArr弹出,所有对它的引用都会受到影响。这就是我所想的,我猜我总是假设推和弹出推和弹出实际的元素,而不是对它的引用。我想我们每天都会学到一些新东西:)但是,如果我想在不创建新数组的情况下将对象从innerArr移动到returnArr,您能告诉我有害生物的做法是什么吗。我想最简单的方法是将innerArr传递给Different array,然后将其推送到Different array。我不完全确定我是否理解您的问题,但是,当您将innerArr推送到returnArr时,您存储的是对同一实际数组的引用。所以,如果你从innerArr弹出,所有对它的引用都会受到影响。这就是我所想的,我猜我总是假设推和弹出推和弹出实际的元素,而不是对它的引用。我想我们每天都会学到一些新东西:)但是,如果我想在不创建新数组的情况下将对象从innerArr移动到returnArr,您能告诉我有害生物的做法是什么吗。我想最简单的方法是将innerArr传递给Different数组,然后推动它。