javascript remove item from array, if an item already existing in array

后端 未结 6 756
终归单人心
终归单人心 2021-01-25 23:03

following adds items to array:

var arrayOptions = [];

function AddToFilterOptionList(mode) {
    arrayOptions.push(mode);
    }

remove item fr

6条回答
  •  忘掉有多难
    2021-01-25 23:55

    You need to split by + characted and then loop over produced array to add/remove all items:

    var arrayOptions = [];
    
    function AddToFilterOptionList(mode) {
        mode.split(/\+/g).forEach(function(el) {
            var index = arrayOptions.indexOf(el);
            if (index !== -1) {
                arrayOptions.splice(index, 1);
            }
            else {
                arrayOptions.push(el);
            }
        });
    }
    
    function RemoveFromFilterOptionList(mode) {
        var index = arrayOptions.indexOf(mode);
        if (index !== -1) {
            arrayOptions.splice(index, 1);
        }
    }
    
    AddToFilterOptionList('APPLE');
    document.write('

    ' + arrayOptions); // expect: APPLE AddToFilterOptionList('APPLE+FRUIT'); document.write('

    ' + arrayOptions); // expect: FRUIT AddToFilterOptionList('APPLE+FRUIT+CARROT'); document.write('

    ' + arrayOptions); // expect: APPLE,CARROT

提交回复
热议问题