Цитата:
["a", "b", "c", "d"].every( (el, ind, arr) => { console.log("el=" + el, "ind=" + ind, "arr=" + arr); return true; } ); |
Цитата:
|
Цитата:
Если только JS думает так есть массив иду по индексам, смотрю что находится в этом индексе, "запомнил" беру следующий массив иди по индексам и уже после этого сравниваю что находится в этом индексе. В коде то просто написано 1 как значение сравни с 0 как с положением массива. |
Цитата:
Цитата:
ind - индекс secondArray[ind] - значение по этому индексу |
Спасибо что помогаете разобраться.
|
Цитата:
Код:
firstArray.every( ) И когда она проходит по индексам этого массива, она запускает для каждого его элемента функцию, которую ей передали в качестве параметра. В вашем случае это стрелочная функция: Код:
(el, ind) => el === secondArray[ind] Вот и вся логика. По индексам второго массива никто не проходит. |
Цитата:
С точки зрения формальной логики это нарушение третьего закона логики "Исключенный третий" т.е. понятие "беру номер квартиры" не верно и не может использоваться в логическом рассуждении потому что фактически используется синтаксическая конструкция которая представлена выражением и уже в этом выражении используется так называемое "беру номер квартиры" как часть этого выражения возвращающего жильца. Т.е. вместо целого используемого выражения в логике используется только его часть это и есть то самое "подмена понятия". |
На самом деле это надо читать так
И вот из первого дома я имею жильца 1. А из второго дома я беру номер квартиры |
Цитата:
|
Скажу сразу код работает просто не до конца понимаю.
const inputProducts = [ { title: 'Phone case', price: 23, quantity: 2, category: 'Accessories', }, { title: 'Android phone', price: 150, quantity: 1, category: 'Phones', }, { title: 'Headphones', price: 78, quantity: 1, category: 'Accessories', }, { title: 'Sport Watch', price: 55, quantity: 2, category: 'Watches', }, ] const quantitiesByCategories = (products) => { return products.reduce((qtyByCategories, product) => { const {category, quantity} = product qtyByCategories[product.category] = (qtyByCategories[product.category] || 0) + product.quantity return qtyByCategories }, []) } console.log(quantitiesByCategories(inputProducts)) 2) Почему [product.category] решило что она возьмет значение этого свойства category: 'Accessories' и станет ключом нового объекта 3) Как происходит суммирование quantity за счет этой записи (qtyByCategories[product.category] || 0) + product.quantity |
Часовой пояс GMT +3, время: 13:02. |