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, время: 04:29. |