Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Посчитать элементы в массиве. (https://javascript.ru/forum/dom-window/70220-poschitat-ehlementy-v-massive.html)

artem55555p 21.08.2017 07:34

Посчитать элементы в массиве.
 
Здравствуйте. У меня есть массив:
1234,2134,1243,1342,2341,1234
как мне посчитать сколько раз встречается цифра 1 на первом месте, цифра 2 на первом месте и т.д.?
и как посчитать сколько раз встречается цифра 1 на последнем месте, цифра 2 на последнем месте и т.д.?

artem55555p 21.08.2017 07:45

п.с. делаю такой тест http://stratoplan.ru/disc/ :)

artem55555p 21.08.2017 07:57

Массив в переменной splitted.
так я по нему прохожусь и получаю первую цифру из всего массива. сейчас оно считает сколько раз встречается цифра 1, но скрипт работает только тогда, когда начинаю с конца менять sortable/ если меняю сначала, пришет просто макс количество.
var qty = 0;
        for(var i = 0; i < splitted.length; i++ ){
            if(splitted[i].charAt(0) == 1) {
                qty = i;
            }
        }
        alert(qty);

artem55555p 21.08.2017 08:39

нашел косяк,
for(var i = 0; i < splitted.length-1; i++ ){
            if(splitted[i].charAt(0) == 1) {
                d++;

            }

        }

ksa 21.08.2017 09:45

Цитата:

Сообщение от artem55555p
как мне посчитать сколько раз встречается цифра 1 на первом месте

Как вариант
var a=[1234,2134,1243,1342,2341,1234];
alert(a.toString().match(/(^|,)1/g).length);

Цитата:

Сообщение от artem55555p
цифра 2 на первом месте

var a=[1234,2134,1243,1342,2341,1234];
alert(a.toString().match(/(^|,)2/g).length);

ksa 21.08.2017 09:47

Цитата:

Сообщение от artem55555p
как посчитать сколько раз встречается цифра 1 на последнем месте

Как вариант
var a=[1234,2134,1243,1342,2341,1234];
alert(a.toString().match(/1(,|$)/g).length);

j0hnik 21.08.2017 10:11

var arr = [1234,2134,1243,1342,2341,1234];
for(var i=0; i<10; i++) console.log(i+' в начале встречается '+(arr.filter(el=>(el+'').startsWith(i)).length)+' раз, в конце '+(arr.filter(el=>(el+'').endsWith(i)).length)+' раз');


Часовой пояс GMT +3, время: 10:44.