50% массива (условие)
Подскажите такой момент.
У меня есть массив
items [
{
blue: false,
red: false
},
{
blue: false,
red: false
},
{
blue: false,
red: false
},
{
blue: false,
red: false
},
{
blue: false,
red: false
}
]
у меня есть функция, которая берет из массива рандомный объект и меняет при условии либо в синий либо в красный одно из значений в true, функция с интервалом, повторяется Подскажите как прописать
if (если red: true у 50% объектов массива items) {
return;
}
|
var items = [
{
blue: false,
red: true
},
{
blue: false,
red: false
},
{
blue: false,
red: true
},
{
blue: false,
red: false
},
{
blue: false,
red: true
}
];
var result = 100 * items.filter(item => item.red).length / items.length;
alert(result + "%");
|
массив половина красных
NeonMan,
let items = [{
blue: false,
red: false
},
{
blue: false,
red: false
},
{
blue: false,
red: true
},
{
blue: false,
red: true
},
{
blue: false,
red: true
}
]
const halfRed = arr => {
let { length } = arr;
let i = length / 2;
i = Math.ceil(i);
for (; --length;) {
i -= arr[length].red;
if (!i) return true;
if (i > length) return false;
}
return false
}
console.log(halfRed(items))
|
Цитата:
const itemsLength = getState().buttons.length;
const countItems = getState().buttons
.filter(item => item.blue === true).length / itemsLength * 100
if (countItems > 50) {
return
}
|
| Часовой пояс GMT +3, время: 13:18. |