remove value from comma separated values string

前端 未结 9 1780
不知归路
不知归路 2020-12-30 05:27

I have a csv string like this \"1,2,3\" and want to be able to remove a desired value from it.

For example if I want to remove the value: 2, the output string should

相关标签:
9条回答
  • 2020-12-30 06:24

    use splice, pop or shift. depending on your requirement.

    You could also have "find" the indexes of items in your array that match by using a function like the one found here : http://www.hunlock.com/blogs/Ten_Javascript_Tools_Everyone_Should_Have

    var tmp = [5,9,12,18,56,1,10,42,'blue',30, 7,97,53,33,30,35,27,30,'35','Ball', 'bubble'];
    //         0/1/2 /3 /4/5 /6 /7     /8  /9/10/11/12/13/14/15/16/17/  18/    19/      20
    var thirty=tmp.find(30);             // Returns 9, 14, 17
    var thirtyfive=tmp.find('35');       // Returns 18
    var thirtyfive=tmp.find(35);         // Returns 15
    var haveBlue=tmp.find('blue');       // Returns 8
    var notFound=tmp.find('not there!'); // Returns false
    var regexp1=tmp.find(/^b/);          // returns 8,20    (first letter starts with b)
    var regexp1=tmp.find(/^b/i);         // returns 8,19,20 (same as above but ignore case)
    
    Array.prototype.find = function(searchStr) {
      var returnArray = false;
      for (i=0; i<this.length; i++) {
        if (typeof(searchStr) == 'function') {
          if (searchStr.test(this[i])) {
            if (!returnArray) { returnArray = [] }
            returnArray.push(i);
          }
        } else {
          if (this[i]===searchStr) {
            if (!returnArray) { returnArray = [] }
            returnArray.push(i);
          }
        }
      }
      return returnArray;
    }
    
    0 讨论(0)
  • 2020-12-30 06:26

    values is now an array. So instead of doing the traversing yourself.

    Do:

    var index = values.indexOf(value);
    if(index >= 0) {
        values.splice(index, 1);
    }
    

    removing a single object from a given index.

    hope this helps

    0 讨论(0)
  • 2020-12-30 06:28
    function process(csv,valueToDelete) {
      var tmp = ","+csv;
      tmp = tmp.replace(","+valueToDelete,"");
      if (tmp.substr(0,1) == ',') tmp = tmp.substr(1);
      return tmp;
    }
    
    0 讨论(0)
提交回复
热议问题