在jQuery中搜索ID时如何删除相同的值queryString,ID中正在传递textarea并在搜索时调用API。当搜索相似的IDs时,它显示两个相似的项目,因此,如果我可以删除相同的queryString值,它将阻止它获取相似的项目。

QueryString看起来像这样的Product?id=1&id=1然后呈现两次该项目。

textarea获取值

var getVal = $('textarea.input_' + inputSearch.name).val();
if (getVal != null && (getVal != "")) {
   let inputValues = getVal
      .split("\n") // allows multiple search using new line
      .filter(function (str) { return str !== "" })
      .join("&" + inputSearch.name + "=");
      // then add it to the overall query string for all searches
      query = query + inputSearch.name + "=" + inputValues + "&";
}

最佳答案

在加入之前,可以扩展使用array.prototype.filter()来实现唯一性:

var getVal = $('textarea.input_' + inputSearch.name).val();
if (getVal != null && (getVal != "")) {
   let inputValues = getVal
      .split("\n") // allows multiple search using new line
      .filter(function (elem, index, self) {
        return elem !== "" && index == self.indexOf(elem)
       })
      .join("&" + inputSearch.name + "=");

  // then add it to the overall query string for all searches
  query = query + inputSearch.name + "=" + inputValues + "&";
}

10-04 11:12