使用JS从数组中弹出元素

时间:2011-05-31 18:39:41

标签: javascript jquery arrays loops pop

我有一个数组results = [duplicate, otherdup],其中包含重复项列表

我有一个常规original_array = [duplicate, duplicate, duplicate, otherdup, otherdup, unique, unique2, unique_etc]

如何遍历results数组(列表)并从original_array中弹出除一个之外的所有内容,如下所示:

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

3 个答案:

答案 0 :(得分:1)

我会使用John Resig的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 :(得分:1)

一个简单的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();

答案 2 :(得分:0)

你看起来像这样吗

但是在调用pop之前,你会检查它是否应该通过循环运行来弹出!!

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