Рубрики
Без рубрики

Поиск индекса элемента и удалить или заменить его

Наконечник JavaScript для поиска индекса элемента в массиве, а затем удалить или заменить его

Автор оригинала: LAU TIAM KOK.

Соревнование

Как вы ищете индекс элемента в массиве, а затем удалить или заменить его?

Решение

  1. Использовать array.findindex или array.map получить индекс.
  2. Использовать Array.Splice заменить или удалить.

Код

// Existing array.
var array = [
  { email: 'fooz@bar.co',
    id: '0c2df03e-b12c-48a8-b52b-82d55425e283',
    name: 'rob' },
  { email: 'fooz@bar.co',
    id: '1d763175-5369-4d25-8608-d6d04f630a60',
    name: 'jane' },
  { email: 'fooz@bar.co',
    id: '16253b3e-1020-4431-91f3-d206072e142f',
    name: 'mark' }
]

// New element.
var newItem = {
  email: 'fooz@bar.co',
  id: '1d763175-5369-4d25-8608-d6d04f630a60',
  name: 'janie'
}

// Id to look up for.
var id = newItem.id

// Find index of an item.
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/findIndex
// var index = array.findIndex(function(item) {return item.id === id})
// Or:
var index = array.findIndex(item => item.id === id)

// Replace the item by index.
array.splice(index, 1, newItem)

// To check.
console.log(array) // 'jane' is now 'janie'.

// Another method to search for the index.
var index = array.map(function(el) {
  return el.id
}).indexOf(id)

// Delete  the item by index.
array.splice(index, 1)

// To check.
console.log(array) // 'janie' is now gone.

Предложения

Дайте мне знать, что вы думаете, и какие бы ваши решения были бы вашими решениями. Все предложения, пожалуйста, оставьте комментарий ниже. Надеюсь это поможет.