Перекладывание бумажек

Всем доброго дня, интересно если использование endsWith разрешено? т.к. название документа дается как ‘стринг’

function getDocumentsNumbers(arrDocsNames, targetYear) {
  let docCount = 0;
  for (let i = 0; i < arrDocsNames.length; i++) { 
    if (arrDocsNames[i].endsWith(targetYear)) {
      docCount += 1 
    } 
  }
  return docCount
}

С методом Slice();

Решение


var getDocumentsNumbers = function (docNames, reqYear) {
  var numYears = 0;
  for (var i = 0; i < docNames.length; i++) {
    var year = docNames[i].slice(-4);
    if (year == reqYear) {
      numYears ++;
    };
  };
  return numYears;
};


Через endsWith (заканчивается на)
var getDocumentsNumbers = function (arrayDocuments, year) {
var count = 0;
for (var i=0; i<arrayDocuments.length; i++) {
if (arrayDocuments[i].endsWith(year)) count++;
}
return count;
}

Больше, наверное, результат подвожу.

Вариант 1 (метод : indexOf):

function getDocumentsNumbers(arr, year) {
  let documentQty = 0;

  for (let i = 0; i < arr.length; i++) {
    if (arr[i].indexOf(year, 4) !== -1) documentQty++
    }
      
  return documentQty
  }

вариант 2 (метод : slice):

function getDocumentsNumbers (documentsArr, year) {
  let documenQty = 0;
  
  for (let i = 0; i < documentsArr.length; i++) {
    if (documentsArr[i].slice(-4) == year) documenQty++;
  }
  
  return documenQty;
}  

Вероятно, самый адекватный метод для данной задачи.

Вариант 3 (метод : endsWith) :

function getDocumentsNumbers (documentsArr, year) {
  let documenQty = 0;
  
  for (let i = 0; i < documentsArr.length; i++) {
    if (documentsArr[i].endsWith(year)) documenQty++;
  }
  
  return documenQty;
}  
let get DocumentsNumbers = function (array, year) {

  let newArray = [];

  let lengthNewArray = 0;

  for (let i = 0; i < array.length; i++) {

    if (array[i].includes(year) && array[i].lastIndexOf(year)) {

      console.log(array[i])

      newArray.push(array[i]);

      lengthNewArray = newArray.length;

    }

  }

  return lengthNewArray;

};

let getDocumentsNumbers = function(name, year) {
let ch = 0;
for(let i = 0; i < name.length; i++){
if (name[i] % 10000 == year){
ch += 1;
}
}

return ch;
}