如何在jQuery中随机删除或删除数组值?

sel*_*lva 5 javascript jquery

如何在jQuery中删除数组中的值?

var prodCode = ["001","002","003","004","005","006","007","008"];
Run Code Online (Sandbox Code Playgroud)

And*_*air 12

希望我的问题是正确的:您想要删除数组中的单个元素

var index = $.inArray(value, array);
if (index >= 0) {
   array.splice(index, 1);
}
Run Code Online (Sandbox Code Playgroud)

除此以外

$.each(arrayWithValuesToRemove, function (index, element) {
   var index = $.inArray(element, array);
   if (index < 0) {
      return;
   }
   array.splice(index, 1);
});
Run Code Online (Sandbox Code Playgroud)

如果你只想随意删除

var desiredIndex = Math.floor(Math.random() * array.length);
array.splice(desiredIndex, 1);
Run Code Online (Sandbox Code Playgroud)

如果你想保留索引,但不是它的值(与任何上面的例子结合):

delete array[index];
Run Code Online (Sandbox Code Playgroud)

如果你想编写自己的比较方法(例如,对象作为值):

var compareFunction = function (element) {
    // TODO your compare stuff
};
var getIndexFunction = function (array) {
    for (var i = 0; i < array.length; i++) {
        var element = array[i];
        if (compareMethod(element)) {
            return i;
        }
    }
    return -1;
};
var index = getIndexFunction(myArray);
if (index >= 0) {
    myArray.splice(index, 1);
}
Run Code Online (Sandbox Code Playgroud)