在实际的项目开发中我们经常会遇到要对两个中文字符串进行判断的情况,从而找到数组中对应的数据。但我们会发现在控制台打印两个中文字符串明明一样,但是打印对比结果却是false。如下图:

我们可以看到控制台打印明明是两个一样的中文字符串但是对比结果却返回false。

下面直接上解决方法:

const cItem = dataArr.find(
          (item) => item.STNM?.trim() == record.STNM?.trim()
        );

我们在对中文字符串比对的时候一定要加上字符串去空格的方法String.trim(),因为某些情况下我们是看不出来字符串前后的空白字符的,代码中item.STNM?.trim()中的?是es6的语法,用来判断item.STNM是否存在,如果不存在也不会报错,是一种容错处理。

Logo

鸿蒙生态一站式服务平台。

更多推荐