<div id="sort"></div>
<button id="btn">Sort</button>
<script>
const sortArr = document.getElementById('sort');
const sortBtn = document.getElementById('btn');
const points = [40, 100, 1, 5, 25, 10];
sortArr.innerHTML = points;
const newArr = points.map(i => i + Math.floor(Math.random() * 100));
const sortListArr = () => {
const sign = ((newArr[0] > newArr[newArr.length - 1]) ? 1 : -1);
sortArr.innerHTML = newArr.sort((a, b) => (sign * (a - b)));
}
sortBtn.addEventListener('click', sortListArr);
</script> const sortListArr = () => {
const sign = ((newArr[0] > newArr[newArr.length - 1]) ? 1 : -1);
const sortedArr = [...newArr].sort((a, b) => (sign * (a - b)));
return sortedArr;
} index += ((direction === LEFT) ? points.length : 1); вместо единицы был ноль, попробуйте ещё раз. onclick надо присваивать JS код, который должен быть исполнен. Разные технологии, поэтому не удивительно, что правила использования тоже немного разные. onClick вы передаёте функцию () => this.handleClick(i).renderSquare(i) {
return (
<Square
value={this.state.squares[i]}
onClick={() => this.handleClick(i)}
/>
);
}onClick которого присваиваете значение свойства onClick компонента Square.function Square(props) {
return (
<button
className="square"
onClick={props.onClick}
>
{props.value}
</button>
);
}onClick={props.onClick()}, то свойству компонента button был бы присвоен результат выполнения функции () => this.handleClick(i).onClick компонента button, эта функция была передана в компонент Square в его свойстве onClick. Это разные, несвязанные свойства. Второе можно переименовать, назвав его так, как вам хочется. display: block; для картинки не меняет ничего