如果一个列表仅包含一个字符串,则用逗号分隔的字符串比较两个列表

毫米1975

使用以下脚本,我想比较两个包含逗号分隔字符串的字符串列表。如果有相等的字符串,我想创建另一个html元素。如果两个字符串列表都包含多个字符串,则效果很好。如果一个列表仅包含1个不带逗号的字符串,则仅将应用else条件。

Example1(有效):

字符串列表1 = test1,test2,test3;字符串列表2 = test1,test2

预期结果:test1,test2

Example2(失败):

字符串列表1 = test1,test2,test3;字符串列表2 = test1

预期结果:test1

var checkDiagnoses = "test1, test2, test3"
var splitDiagnosesArray =checkDiagnoses.split(',');
   
$('.addDiagnoses').html($('.addDiagnoses').html().split(', ').map(function(el) {
  if (el.indexOf(splitDiagnosesArray)) {
    return '<span class="diagnosesTags">' + el + '<span class="materialIcon equalDiagnosis materialicons-Materialicon material-icons">star</span></span>'
} else {
    return '<span class="diagnosesTags">' + el + '</span>'
}

}))
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="addDiagnoses">test1</div>

自由度

三个问题:

  • .split(', ')vs.split(',')将不匹配
  • txt.indexOf(array) 是错误的方法
  • txt.indexOf(array) 如果未找到则返回-1,因此必须与 >=0

给予(进行一些细微的更改以使其成为测试平台,例如div-> input / div.html()-> input.val())

var checkDiagnoses = "test1,test2,test3"
var splitDiagnosesArray = checkDiagnoses.split(',');

$("#btn").click(function() {

  $('#output').html(
    $('.addDiagnoses').val().split(',').map(function(el) {
      el = el.trim();

      if (splitDiagnosesArray.indexOf(el) != -1) {
        return '<span class="diagnosesTags">' + el + '*</span>'
      } else {
        return '<span class="diagnosesTags">' + el + '</span>'
      }
    }))
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type='text' class="addDiagnoses" value='test1'></div>
<br/>
<button type='button' id='btn'>test</button>
<hr/>
<div id="output"></div>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

取下列表中的对象 - 包含一个字符串 - 列表相比较,

检查Python列表项是否在另一个字符串中包含一个字符串

在两个字符串之间替换一个字符串

如何检查一个字符串是否包含两个星号字符?

如果两个字符串仅相差一个字符,则返回True

如果是关于一个字符串还是字符串列表的声明

找出一个字符串是否仅包含ASCII字符

将一个字符串用逗号分隔成列

在Python列表中两次使用一个字符串

反转一个字符串而没有两个循环?

将两个字符串合并为一个字符串

熊猫:每行包含一个字符串,以逗号分隔,并在列表中添加唯一的单词

检查一个字符串是否包含列表中的至少两个字符串

如果最多两个字符不同,则匹配一个字符串

尝试使用两个指针反转一个字符串

返回一个不带前两个字符的字符串,但如果第一个字符为“ a”则例外

熊猫:检查一个字符串是否至少包含一个列表中的两个单词

查找一个字符串并获取以逗号分隔的前一个字符串

如果一个字符串包含2个单词

spinner.OnItemClickSelected 从两个 Spinner 恢复一个字符串而不是两个分隔的字符串

将一个字符串拆分为两个字符串

如何将逗号和括号分隔列表的字符串转换为另一个字符串?

比较两个列表:一个包含对象,另一个包含字符串

将两个不同的列表导出为一个字符串

在一个字符串中获取两个或多个字符串

为什么 split() 从一个字符串返回两个列表?

如果每个字符串中的索引匹配,如何通过索引比较两个 python 列表返回一个布尔值?

比较存储在两个不同数组中的字符串,如果字符串匹配,则从另一个数组输出一个字符串

一个字符串中的 POST 数组,以逗号分隔 PHP