【问题标题】:split function is duplicating values拆分函数正在重复值
【发布时间】:2021-03-07 11:33:55
【问题描述】:

我试图用split() 分割一个字符串,由于某种原因,它给了我重复的值,这让我发疯了,有人可以帮助我吗

字符串是来自数据库的逗号分隔响应这里是回显 echo $Title1 . ',' . $link. ','.$value. ','.'number'.','.'$' .',';

这是我的代码:

    function displayMatches(response2){
        var str = response2;
        var str_array = response2.split(',');
    }

这是来自str_array的控制台日志

0: "Butter cauliflower & paneer"
1: "https://link1.com"
2: "4"
3: "friends5"
4: "$"
5: "Butter cauliflower & paneer"
6: "https://link1.com"
7: "4"
8: "friends5"
9: "$"
10: "Butter cauliflower and coconut sambal"
11: "https://link2.com"
12: "3"
13: "friends5"
14: "$"
15: "Butter cauliflower and coconut sambal"
16: "https://link2.com"
17: "3"
18: "friends5"
19: "$"

这是 response2 的值

奶油花椰菜和芝士,https://link1.com,4,friends5,$,奶油花椰菜和芝士,https://link2.com,4,friends5,$,奶油花椰菜和椰子参巴酱,https:// /link3.com,3,friends5,$,黄油花椰菜和椰子参巴酱,https://link4.com,3,friends5,$,奶油素食南瓜咖喱,https://link5.com,5,friends5,$,




Why is `split()` doing this?

【问题讨论】:

  • 请添加原始字符串。
  • 重复值是什么意思?请edit您的问题添加示例预期输入和输出。
  • 如果您使用相同的方法将"Hello" 之类的字符串文字打印到控制台,它会打印重复项吗?
  • @xdhmoore 不,我只是用另一个字符串尝试过它不会重复它们
  • split() is working fine。很可能您没有发布的某些代码有问题。

标签: javascript


【解决方案1】:

这个也把我逼疯了。 尝试使用这个函数内部

let endArray = new Set([]);
var str_array = response2.split(',');
for(var i = 0;i < str_array.length - 1;i++){
  endArray.add(str_array[i]);
}
console.log(endArray)

另外,如果您添加要拆分的字符串会更容易,这将帮助更多的观众在更短的时间内找到更好的选择。

如果这不起作用,请将此答案作为评论回复我

【讨论】:

  • 这打印了唯一值,但它在 11 处停止,但比我拥有的要好
  • 这可能是因为重复的元素被删除了,因此长度被缩短了,也忘了提到如何获取值,你可能想读这个,geeksforgeeks.org/sets-in-javascript
  • 绝对不是我刚刚为你更新的。最后的响应没有被打印出来,当我使用 split() 时它们被删除
  • 感谢您的信息。我的错误,只需在 str_array.length 后添加 -1。循环重复了一次额外的时间,因此最后一个字符串是''。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-21
  • 2018-07-10
  • 2017-06-28
  • 1970-01-01
  • 1970-01-01
  • 2020-08-25
相关资源
最近更新 更多