Size: a a a

JavaScript — русскоговорящее сообщество

2020 November 12

ИА

Игорь А. in JavaScript — русскоговорящее сообщество
да, точно
let array1 = [1, 4, 9, 16];
array1 = array1.map(x => {
   if (x === 1) {
       return x * 2
   }
})
console.log(array1);
> Array [2, undefined, undefined, undefined]
источник

ИА

Игорь А. in JavaScript — русскоговорящее сообщество
как убрать при этом из списка лишние элементы?
источник

AP

Anton Permyakov in JavaScript — русскоговорящее сообщество
Игорь А.
да, точно
let array1 = [1, 4, 9, 16];
array1 = array1.map(x => {
   if (x === 1) {
       return x * 2
   }
})
console.log(array1);
> Array [2, undefined, undefined, undefined]
сначала отфильтруй лишние элементы, затем делай мап
источник

ИА

Игорь А. in JavaScript — русскоговорящее сообщество
Anton Permyakov
сначала отфильтруй лишние элементы, затем делай мап
.filter? спасибо
источник

AP

Anton Permyakov in JavaScript — русскоговорящее сообщество
если тебе на месте нужно, тогда через обычный фор перебирай индексы в цикле
источник

ИА

Игорь А. in JavaScript — русскоговорящее сообщество
Anton Permyakov
если тебе на месте нужно, тогда через обычный фор перебирай индексы в цикле
let array1 = [1, 4, 9, 16];
array1 = array1.filter(x => x != 1);

> Array [4, 9, 16]


так тоже работает
источник

AP

Anton Permyakov in JavaScript — русскоговорящее сообщество
Игорь А.
let array1 = [1, 4, 9, 16];
array1 = array1.filter(x => x != 1);

> Array [4, 9, 16]


так тоже работает
но это не in-place
источник

D

Danila in JavaScript — русскоговорящее сообщество
Игорь А.
да, точно
let array1 = [1, 4, 9, 16];
array1 = array1.map(x => {
   if (x === 1) {
       return x * 2
   }
})
console.log(array1);
> Array [2, undefined, undefined, undefined]
filter, map
источник

ИА

Игорь А. in JavaScript — русскоговорящее сообщество
Anton Permyakov
но это не in-place
Наверное, затык с терминологией. Я имел в виду без использования дополнительной переменной.
источник

FL

First Last in JavaScript — русскоговорящее сообщество
А задача то какая?)
источник

__

_Alex _Vas in JavaScript — русскоговорящее сообщество
Всем доброго времени суток, такой вопрос , есть список , при клике на каждый из элементов списка отправляю запрос на сервер и мне нужно считать количество кликов
<ul>
  <li>1</li>
  <li>2</li>
  <li>3</li>
</ul>
Count=0
При клике элемент списка, счётчик увеличивается на один и при втором клике увеличивается на один, при третьем клике обнуляется. При клике на другой элемент списка, счётчик тоже должен обнулится и опять увеличиваться по клику на этот элемент,(пришёл к решению назначить 3 счетчика и обнулять перед вызовом функции на другом элементе, но это супер тупо как по мне). Может кто подскажет идеи?!?!?
источник

ИА

Игорь А. in JavaScript — русскоговорящее сообщество
First Last
А задача то какая?)
у меня? есть select с опциями из списка, вместо лэйбла первая опция "select blahblah", хочется после первого нажатия убирать ее из списка
источник

D

Danila in JavaScript — русскоговорящее сообщество
_Alex _Vas
Всем доброго времени суток, такой вопрос , есть список , при клике на каждый из элементов списка отправляю запрос на сервер и мне нужно считать количество кликов
<ul>
  <li>1</li>
  <li>2</li>
  <li>3</li>
</ul>
Count=0
При клике элемент списка, счётчик увеличивается на один и при втором клике увеличивается на один, при третьем клике обнуляется. При клике на другой элемент списка, счётчик тоже должен обнулится и опять увеличиваться по клику на этот элемент,(пришёл к решению назначить 3 счетчика и обнулять перед вызовом функции на другом элементе, но это супер тупо как по мне). Может кто подскажет идеи?!?!?
<ul>
  <li>1</li>
  <li>2</li>
  <li>3</li>
</ul>

let clicks = 0;
const increment = () => clicks =( clicks === 2) ? 0 : clicks+1

document.querySelector('ul').addEventListner('click', ()=>{
  //makeRequest
  increment();
}))
источник

D

Danila in JavaScript — русскоговорящее сообщество
Игорь А.
у меня? есть select с опциями из списка, вместо лэйбла первая опция "select blahblah", хочется после первого нажатия убирать ее из списка
select.options.forEach(option => {
  if(option.textContent === 'select blahblah') option.remove();
})
источник

D

Danila in JavaScript — русскоговорящее сообщество
Или select.options[0].remove()
источник

ИА

Игорь А. in JavaScript — русскоговорящее сообщество
Danila
select.options.forEach(option => {
  if(option.textContent === 'select blahblah') option.remove();
})
с Vue не очень хочется модифицировать DOM вручную
источник

D

Danila in JavaScript — русскоговорящее сообщество
Игорь А.
с Vue не очень хочется модифицировать DOM вручную
Про vue ты не говорил
источник

D

Danila in JavaScript — русскоговорящее сообщество
Тогда this.options = this.options.slice(1)
источник

в

вαғғσмεттι in JavaScript — русскоговорящее сообщество
Про вуй есть отдельный чат
источник

AV

Alex V in JavaScript — русскоговорящее сообщество
чем дальше, тем интереснее)
источник