Вставить элементы из массива с помощью JS - PullRequest
0 голосов
/ 31 мая 2011

У меня есть массив results = [duplicate, otherdup], который содержит список дубликатов

У меня есть обычный original_array = [duplicate, duplicate, duplicate, otherdup, otherdup, unique, unique2, unique_etc]

Как перебрать массив results (список) и Popвсе кроме одного из original_array выглядят так:

oringal_array = [duplicate, otherdup, unique, unique2, unique_etc]`

Ответы [ 3 ]

1 голос
/ 31 мая 2011

Я бы использовал метод Remove () Джона Резига:

// Remove() - Completely removes item(s) from Array
// By John Resig (MIT Licensed)
Array.prototype.remove = function(from, to) {

    var rest = this.slice((to || from) + 1 || this.length);
    this.length = from < 0 ? this.length + from : from;
    return this.push.apply(this, rest);

};

Вы можете перебрать свой массив и просто передать индекс, который вы хотите удалить, в функцию Remove ().

1 голос
/ 31 мая 2011

Простая unique функция может выглядеть примерно так:

Array.prototype.unique = function() {
   var uniqueArr = [];
   var dict = {};
   for(var i = 0; i < this.length; i++) {
      if(!(this[i] in dict)) {
         uniqueArr.push(this[i]);
         dict[this[i]] = 1;
      }
   }

   return uniqueArr;
};

Вы можете легко сделать:

var unique_array = original_array.unique();
0 голосов
/ 31 мая 2011

ты выглядишь примерно так

но перед вызовом pop вы должны проверить, что он должен быть запущен или пропущен через цикл !!

http://www.tutorialspoint.com/javascript/array_pop.htm

...