首页 > 解决方案 > 检查一个数组是否包含另一个数组的任何元素并突出显示另一个数组中的元素 - React native

问题描述

我有一个显示为标签的元素数组。例如:

["apple","banana","pineapple","grape"]

显示为 ==> 苹果 香蕉 菠萝 葡萄

是我拥有的数组。

对于 TextInput onChangeText,使用输入的文本启动去抖动套接字调用,处理后我将获得与传递的文本匹配的元素数组。

例如,我将从["apple","banana"]websocket 响应中获取,它应该显示在标签中 as===> apple banana pineapple grape

突出显示苹果香蕉的地方。

如何实施?

--update--- 这就是我的数组的样子

var originalArray = [
      { id: 1, name: "apple" },
      { id: 2, name: "banana" },
      { id: 3, name: "pineapple" },
      { id: 4, name: "grape" },];
    ];
var receivedArray = [
      { id: 1, name: "apple" },
      { id: 2, name: "banana" },];

标签: javascriptarraysreact-native

解决方案


您可能会发现接收到的元素出现在原始数组中的所有索引,然后处理找到的索引

var originalArray = ["apple","banana","pineapple","grape"];
var receivedArray = ["apple", "banana"];
var foundIndices = originalArray.map(el => receivedArray.includes(el) ? true : false)
// Highlight copy version of originalArray based on foundIndices

推荐阅读