const digits = [1,2,3,4,5,6,7,8,9];
const arr = [];
for (let i=0; i<4; i++) {
const n = Math.floor(Math.random() * digits.length);
arr.push( digits.splice(n, 1)[0] );
}
// arr == [2,9,8,1] и каждый раз по-разному )
$(document).ready(function() {
$('.services-link').each( function(){
if ($(this).hasClass('active')){
$('.blackimg', this).hide();
$('.whiteimg', this).show();
} else {
$('.blackimg', this).show();
$('.whiteimg', this).hide();
}
})
});
.services-link .blackimage {display: block}
.services-link.active .blackimage {display: none}
.services-link .whiteimage {display: none}
.services-link.active .whiteimage {display: block}
// но тесты проходит
function repairCase(src, input) {
const len = input.length;
if (len === 0) return '';
const _src = src.toLowerCase();
const _input = input.toLowerCase();
let i, from = 0, maxWeight = -1, maxIndex = -1;
while (i = _src.indexOf(_input, from), -1 !== i) {
from = i + 1;
const match = src.substr(i, len);
let weight = 0;
for (let k = 0; k < len; k++) if (match[k] === input[k]) weight++;
if (maxWeight < weight) {
maxWeight = weight;
maxIndex = i;
}
}
if (-1 === maxIndex) return '';
return src.substr(maxIndex, len);
}
const countries = people.map(el => el.country);
people.filter((el, index) => countries.indexOf(el.country) === index)
/* [
{"id":73334,"country":"Sweden"},
{"id":73335,"country":"England"},
{"id":45445,"country":""}, // про пустые и отсутсвующие страны надо уточнить
{"id":4544500},
{"id":88989,"country":"France"}
]
*/
function groupProps(obj) {
const sums = {};
const result = {};
for (let p in obj) {
const key = p.substring(0, 4); // группируем по первым 4 символам
if (!sums.hasOwnProperty(key)) {
sums[key] = 0;
result[p] = 0;
}
sums[key] += obj[p];
}
for (let p in result) {
const key = p.substring(0, 4);
result[p] = sums[key];
}
return result;
}
groupProps(obj) // {"12345":3,"12356":2,"12360":1}
y = x^2
Там на шаге x
от 0 до 1, y
растет от 0 до 1, на шаге от 3 до 4 y
растёт уже от 9 до 16, на 7. Взяв равномерно-случайную величину от 0 до 16, квадратный корень из неё неравномерно попадёт на диапазон от 0 до 4. Вероятнее на диапазон 3-4, чем на 0-1. И вероятность попадания в точку x будет прямо пропорциональна x.pos: true
должны идти в начале. Просто отсортируйте массив по этому признаку:arr.people.sort((a, b) => b.pos - a.pos)
arr
– вводит в заблуждение, можно подумать, что arr это массив.