Через форыч, например
const getDocumentsNumbers = (arr, year) => {
let docs = [];
arr.forEach((doc) => {
if (doc.endsWith(`${year}`)) {
docs.push(doc);
}
});
return docs.length;
};
Через форыч, например
const getDocumentsNumbers = (arr, year) => {
let docs = [];
arr.forEach((doc) => {
if (doc.endsWith(`${year}`)) {
docs.push(doc);
}
});
return docs.length;
};
Вроде работает без ошибок.
var getDocumentsNumbers = (nameDoc,years) => {
var result = 0;
for(var i = 0; i < nameDoc.length; i++){
if (nameDoc[i].endsWith(years) === true){
result += 1;
}
}
return result;
}
Без Гугла и indexOf:
var getDocumentsNumbers = function(array, year) {
var sum = 0;
for(var i = 0; i < array.length; i++) {
var n = array[i];
if(year == n[4] + n[5] + n[6] + n[7]) {
sum++;
}
}
return sum;
}
Ого, почти 2 месяца колупаю JS и первый раз слышу вообще об RegExp, погуглил, интересненько, осталось разобраться насколько актуально им пользоваться.
let getDocumentsNumbers = (basa, filtrs) => basa.filter(a=>a.slice(-4).match(filtrs)).length
Придумала такое решение -.-
var getDocumentsNumbers=function(docName, year){
var q=0;
for(var i=0; i<docName.length; i++){
if((parseInt(docName[i], 10))%10000===parseInt(year, 10)){
q++;
}
}
return q;
}
c indexOf
var getDocumentsNumbers = function (doc,age) {
var sum = 0;
for (var i = 0; i <= doc.length - 1; i++) {
var newAge = doc[i].indexOf(age, 4);
if (newAge > -1) {
sum++;
}
}
return sum;
}
Без indexOf
var getDocumentsNumbers = function (doc,age) {
var sumNumb = 0;
for (var i = 0; i <= doc.length - 1;i++) {
var newAge = [];
newAge.push((doc[i])[4] + (doc[i])[5] + (doc[i])[6] + (doc[i])[7]);
if (newAge == age) {
sumNumb++;
}
}
return sumNumb;
}
var getDocumentsNumbers = function (documents, year) {
var documentsCount = 0;
for (let document of documents) {
if (document.indexOf(year, 4) >= 0)
documentsCount++
}
return documentsCount;
}
Что значит строго не равно -1???
Просто и понятно
var getDocumentsNumbers = function (nameOfDoc, year) {
var quantity = 0;
for (var i = 0; i < nameOfDoc.length; i++) {
if (nameOfDoc[i].indexOf(year, 4) === 4) {
quantity++
}
}
return quantity;
}
хоть убей не могу понять: вот находим мы, что индекс с которого начинается год это “4” а как программа понимает что это например 2018 а не 2017?
var getDocumentsNumbers = function(name,age){
var c =0;
for (var i = 0; i<name.length;i++){
var log = name[i];
log = log[4]+log[5]+log[6]+log[7]
console.log(log);
if(log == age){
c++;
}
}
return c;
}
lastIndexOf тоже относится к IndexOf только поиск идет с конца строки. Вот наипростейшее и понятное решение.
var getDocumentsNumbers = function (docs, year) {
var count = 0;
for (var i = 0; i < docs.length; i++) {
if(docs[i].lastIndexOf(year) == 4){
count++;
}
}
return count;
}
function getDocumentsNumbers(documents, year) {
const re = new RegExp(`\\d{4}${year}`, 'g');
const found = documents.join().match(re);
if (found) {
return found.length;
} else {
return 0;
}
}
Мое решение:
let getDocumentsNumbers = function(date, year) {
var quantity = 0;
for(let i = 0; i < date.length; i++) {
if (Number(date[i]) % 10000 === year) {
quantity ++;
}
}
return quantity;
}
моё решение:
let getDocumentsNumbers = function(arr, date) {
let newArr = arr.filter((item) => item.slice(4).includes(date));
let count = newArr.length;
return count;
}
Мой вариант на основе материалов тренажера:
let getDocumentsNumbers = function (docNames, year) {
let checkYear;
let total = 0;
for (let i = 0; i < docNames.length; i++) {
checkYear = docNames[i].indexOf(year, 4);
if (checkYear == 4) {total++;}
}
return total;
}
const getDocumentsNumbers = (attachments, year) => {
attachments = attachments.filter(a => a.includes(year, 4))
return attachments.length
}
Мой вариант исключительно из знаний взятых на курсе:
let getDocumentsNumbers = function (doc, date) {
let temp = [];
for (let i = 0; i < doc.length; i++) {
if (doc[i].indexOf(date, 4) > -1) {temp.push(doc[i].indexOf(date));}
}
return temp.length;
}
лучше не создавать дополнительный массив, так как это лишние затраты по памяти, проще просто сделать переменную счётчик и увеличивать её на 1 при выполнение условия, мелочь но из-за большого количества таких штук программа будет работать медленнее!