Как можно обновить код JavaScript, чтобы удалять все элементы списка li, имеющие максимальное значение, а не только один?
Для удаления элемента списка ul с наибольшим значением при нажатии на кнопку можно использовать следующий JavaScript код:
```javascript
document.querySelector('button').addEventListener('click', function() {
let ul = document.querySelector('ul');
let lis = ul.querySelectorAll('li');
let max = -Infinity;
let maxLi = null;
lis.forEach(function(li) {
let value = parseInt(li.textContent);
if (value > max) {
max = value;
maxLi = li;
}
});
if (maxLi) {
ul.removeChild(maxLi);
}
});
```
Чтобы обновить код, чтобы удалялись все элементы списка li с максимальным значением, можно использовать следующий JavaScript код:
```javascript
document.querySelector('button').addEventListener('click', function() {
let ul = document.querySelector('ul');
let lis = ul.querySelectorAll('li');
let max = -Infinity;
lis.forEach(function(li) {
let value = parseInt(li.textContent);
if (value > max) {
max = value;
}
});
lis.forEach(function(li) {
if (parseInt(li.textContent) === max) {
ul.removeChild(li);
}
});
});
```
Этот обновленный код будет удалять все элементы списка li, имеющие максимальное значение при нажатии на кнопку.
<blockquote>При повторном нажатии на кнопку максимальным числом выскакивает число удалённого li.</blockquote> <br/> Как и должно быть. Кто вам обещал, что вызов метода <code>remove</code> приведёт к исчезновению элемента из <code>lis</code> ? Надо искать максимальный элемент среди тех, что всё ещё присутствуют на странице, а не тех, что были изначально. <br/> <br/> <pre><code class="javascript">function max(data, key = n => n) {
const getVal = key instanceof Function ? key : n => n[key];
let result = [ void 0, -Infinity ];
for (const n of data) {
const val = getVal(n);
if (result[1] < val) {
result = [ n, val ];
}
}
return result[0];
}
document.querySelector('button').addEventListener('click', e => {
const items = document.querySelector('ul').children;
max(items, n => +n.textContent)?.remove();
e.target.disabled = !items.length;
});</code></pre>