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

时间:2014-02-25 06:34:20

标签: javascript jquery arrays

jsfiddle

$(document).ready(function() {
    var colorArray = new Array(
      "#ff0000",
      "#000000",
      "#00ff00",
      "#0000ff"
    );

    var randColor, randListElem;
    var listElems = $('li');

    for(var i = 0; i < 3; i++)
    {
        //randColor = Math.floor(Math.random()*(colorArray.length));
        colorArray.sort(function() { return 0.5 - Math.random();});
        var ran = colorArray.pop();
        randListElem = Math.floor(Math.random()*(listElems.length));
        $(listElems[randListElem]).css("background", colorArray[ran]);
    };
});

一旦我在循环中运行最后一个命令,我想删除colorArray中的颜色再次使用。我怎么能这样做?

1 个答案:

答案 0 :(得分:-2)

<强> Working Fiddle

因为你正在使用jQuery

colorArray.splice($.inArray(randColor, myarray), 1);

如果项目不在数组中。好一点

var index = $.inArray(randColor, colorArray);
if (index>=0) colorArray.splice(index, 1);

或者

var itemtoRemove = randcolor;
arr.splice($.inArray(itemtoRemove, colorArray),1);