Javascript 填充双数组逻辑错误?

Javascript 填充双数组逻辑错误?,javascript,jquery,arrays,functional-programming,Javascript,Jquery,Arrays,Functional Programming,在java脚本中实现一些分页算法以供实践。 我得到了想要推进多维数组(double)的数组的正确输出,但它只推进最终版本。Im打印到控制台,这就是我得到的,它应该填充所有不同版本的帧。这是一个奇怪的JS数组还是什么? //变量声明 var frameNumber=3; var refStringSize=6 var faultCount=0; var refString = []; var _frames=[]; var arrayOfDisplayArrays=[]; console.log

在java脚本中实现一些分页算法以供实践。 我得到了想要推进多维数组(double)的数组的正确输出,但它只推进最终版本。Im打印到控制台,这就是我得到的,它应该填充所有不同版本的帧。这是一个奇怪的JS数组还是什么? //变量声明 var frameNumber=3; var refStringSize=6

var faultCount=0;
var refString = [];
var _frames=[];
var arrayOfDisplayArrays=[];

console.log("refString: "+refString);
//didnt include other functions 
//"driver"
 for(i=refStringSize;i>0;i--){
    var x = refString.shift();
    //if frames are not filled
    if(_frames.length!=frameNumber){
        if(!_includes(_frames,x)){
            _frames.push({'x':x,'checked':false});
            faultCount++;
            console.log('----')
            console.log(_frames);
            arrayOfDisplayArrays.push(_frames); 

        }   

    //if frames are filled
    }else{
        if(!_includes(_frames,x)){
        var index=getLRUIndex(_frames,refD);
        _frames[index]={'x':x,'checked':false};
        faultCount++;
        console.log('----')
        console.log(_frames);
        arrayOfDisplayArrays.push(_frames); 

        }
    }
    refD.push(x);


 }
 console.log(arrayOfDisplayArrays);
这是我的输出(忽略选中):

    refString: 2,9,4,5,8,9
    ----
    [ { x: 2, checked: false } ]
    ----
    [ { x: 2, checked: false }, { x: 9, checked: false } ]
    ----
    [ { x: 2, checked: false },
      { x: 9, checked: false },
      { x: 4, checked: false } ]
    ----
    [ { x: 5, checked: false },
      { x: 9, checked: false },
      { x: 4, checked: false } ]
    ----
    [ { x: 5, checked: false },
      { x: 8, checked: false },
      { x: 4, checked: false } ]
    ----
    [ { x: 5, checked: false },
      { x: 8, checked: false },
      { x: 9, checked: false } ]
    ---------array of arrays----
    [ [ { x: 5, checked: false },
        { x: 8, checked: false },
        { x: 9, checked: false } ],
      [ { x: 5, checked: false },
        { x: 8, checked: false },
        { x: 9, checked: false } ],
      [ { x: 5, checked: false },
        { x: 8, checked: false },
        { x: 9, checked: false } ],
      [ { x: 5, checked: false },
        { x: 8, checked: false },
        { x: 9, checked: false } ],
      [ { x: 5, checked: false },
        { x: 8, checked: false },
        { x: 9, checked: false } ],
      [ { x: 5, checked: false },
        { x: 8, checked: false },
        { x: 9, checked: false } ] ]