How to copy specific items/indexes from an Array to another Array in JS

I’m not a dev/programmer, I’m an accountant trying to make things easier for me, so sorry if it seems too basic or stupid.

I have an Array (fData) which has length 14 and in which index/item it has another array with length 9.

I’m iterating with it and when it meets the condition I need, I’m trying to copy each of the corresponding 9 length array elements to a newly created Array (fRetention).

I have researched a lot and used so many approaches like Array.prototype.push/apply, Push, Concat, Slice and so on.

The closest I got to what I need was using Slice, but rather than create a new index/item to the new array, it ends overwriting the fData Array and creating an Array inside an Array as per the screenshot below.

fRetention Array structure

Thanks for the help!

let fRetention = [];
let countret = 0;
for (var row = 0; row <= fData.length -1; row++) { //parse Array content
  if (row > 0 && row < fData.length -1) { //check for retention
  if (fData[row][0] == fData[row - 1][0] && fData[row][2] == fData[row - 1][2] &&  fData[row][1].substr(0,1) == '2' ) {
     fRetention[countret] = fData.slice(row, row + 1);
     countret ++;


I tried many approaches as said, but I found a solution using this

fRetention.push (fData[row].slice(0));

Source: For a deep copy of a JavaScript multidimensional array, going one level deep seems sufficient. Is this reliably true?