Сдвиньте массив вправо, добавив новый элемент влево с помощью js

У меня есть массив js 2d

var a = [["a","b","c","d","e","f"]]

Мне нужно отказаться от последнего и вставить в первую позицию

var result = [["new","a","b","c","d","e"]]    //<------ "f" has to be discarded

я пробовал с

a.unshift("new")

Как мне это сделать?

Ваш массив действительно двумерный?

Nick 13.12.2020 08:15

Да 2 тусклый массив

Code Guy 13.12.2020 08:16

@CodeGuy, тогда у вас может быть больше одного массива внутри внешнего массива?

Nick Parsons 13.12.2020 08:17
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
3
568
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Ответ принят как подходящий

Используйте unshift, чтобы добавить новые значения в начало массива, и pop, чтобы удалить значения из конца.

let a = ["a", "b", "c", "d", "e", "f"];
a.unshift('new');
a.pop();
console.info(a);

Кроме того, в вашем примере - a - это массив внутри массива, поэтому выполните это во внутреннем массиве.

Чтобы быть еще более общим, вы можете извлечь это для работы и выполнить это для каждого внутреннего массива с помощью map:

let a = [
  ["a", "b", "c", "d", "e", "f"]
];
let result = a.map(innerArr => {
  innerArr.unshift('new');
  innerArr.pop();
  return innerArr;
});
console.info(result);

Мне нужен массив 2d, это не массив 2d

Code Guy 13.12.2020 08:15

@CodeGuy, одномерный массив, вложенный в двумерный массив, по-прежнему является одномерным. Что вам нужно, так это осознать, что unshift() и pop() решают вашу проблему.

GetSet 13.12.2020 08:16

@CodeGuy я добавил уточнение

Omri Attiya 13.12.2020 08:17

Я знаю это, но я ожидаю эффективной и надежной техники

Code Guy 13.12.2020 08:17

Или @CodeGuy решение для копирования/вставки? OmriAttiya кратко отвечает на ваши вопросы.

GetSet 13.12.2020 08:19

@CodeGuy Я добавил более общий способ сделать это для каждого элемента в массиве.

Omri Attiya 13.12.2020 08:20

var a = [["a","b","c","d","e","f"]]
a[0].unshift('new');
a[0].pop();
console.info(a);

Вы можете сначала splice это, а затем использовать unshift

var a = [
  ["a", "b", "c", "d", "e", "f"]
]
a[0].splice(-1, 1);
a[0].unshift('new');
console.info(a)

Другие вопросы по теме