阿乐T 2021-01-07 16:39 采纳率: 100%
浏览 1913
已采纳

怎么使用vue匹配两个字符串找出不同的内容高亮

怎么使用vue匹配两个字符串找出不同的内容高亮

var a='床前明月光'

var b='床前明月亮光'

找出亮并且变成红色字体

  • 写回答

3条回答 默认 最新

  • Menkongkong 2021-01-12 19:37
    关注
    <div>
            <!-- 因为要改变的是单个字符的颜色,需要将字符串转为数组然后通过v-for渲染每一个文字元素 -->
            <!-- [choose.indexOf(item) >= 0 ?'changeBlack':'changeRde']动态绑定样式,当item的内容与choose中的内容不匹配时,也就是choose数组中没有与之相匹配的文字时,文字为红色 -->
            <!-- choose.indexOf(item) 当匹配成功时会返回该元素在数组中的位置,不匹配时返回-1-->
            <span v-bind:class="[choose.indexOf(item) >= 0 ?'changeBlack':'changeRed']" v-for="(item,key) in textArray" :key="key">
                {{item}}
                <!-- 当key+1的值等于第一个字符串的长度时,实现换行 -->
                <div v-if="key+1 == text1.length "></div>
            </span>
    </div>
    
    data(){
            return{
                //text1和text2为字符串
                text1:'窗前明月光',
                text2:'窗前明月亮光',
                //textArray存放的内容是将字符串转为数组后的字符元素
                textArray:[],
                //存放的内容为查重后的重复元素
                choose:[],
            }
        }
    
    changeArray() {
                //定义text3,值为text1和text2两个相连
                var text3 = this.text1+this.text2
                //将text3字符串转为数组存放到textArray中
                this.textArray = text3.split('');
                //for循环嵌套查找重复元素
                for (let i = 0; i < this.textArray.length; i++) {
                    for (let j = 0; j < this.textArray.length; j++) {
                        //textArray数组中每一个元素去与其它元素进行对比
                        if (this.textArray[i] == this.textArray[j] && i != j) {
                            //将对比后重复的元素插入到choose数组中
                            this.choose.push(this.textArray[i])
                        } 
                    }
                }
            },
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)
  • ¥15 AIC3204的示例代码有吗,想用AIC3204测量血氧,找不到相关的代码。