二维数组去掉重复值

   //二维数组去掉重复值
    public function arrunique($arr = array())
    {
        foreach ($arr[0] as $k => $v) {
            $arr_inner_key[] = $k; //先把二维数组中的内层数组的键值记录在在一维数组中
        }
        foreach ($arr as $k => $v) {
            $v = join(",", $v); //降维 用implode()也行
            $temp[$k] = $v; //保留原来的键值 $temp[]即为不保留原来键值
        }
        $temp = array_unique($temp); //去重:去掉重复的字符串
        foreach ($temp as $k => $v) {
            $a = explode(",", $v); //拆分后的重组 如:Array( [0] => james [1] => 30 )
            $arr_after[$k] = array_combine($arr_inner_key, $a); //将原来的键与值重新合并
        }
        return $arr_after;
    }

WPSJS 是一款由金山办公软件提供的用于操作表格、文档等文件的 JavaScript API。在处理数据时,我们常常需要对一组数据进行去重操作。下面是一个基于 WPS JS 的思路示例,可以用来对一列二维数组去除重复值。 假设你有一组这样的二维数组: ```javascript var data = [ ["apple", "fruit"], ["banana", "fruit"], ["apple", "fruit"], // 重复项 ]; ``` ### 步骤 1. **创建一个 Map 对象** 来存储唯一的数据条目,其中键是你想要检查是否唯一的字段(例如第一列),而对应的值则是整个行记录本身。 2. **遍历原始数组** 并将每一行插入到这个Map 中,在这之前先判断该行的第一个元素是否已经在Map里存在了;如果不存在,则将其添加进去;若已存在则跳过当前循环体直接进入下一轮迭代过程。 3. 最终把所有非重复性的元素从map对象转换回新的维列表形式返回给用户即可。 以下是实现上述逻辑的一个简单函数: ```javascript function removeDuplicates(arr) { var uniqueData = new Map(); for (let i = 0; i < arr.length; i++) { if (!uniqueData.has(arr[i][0])) { uniqueData.set(arr[i][0], arr[i]); } } return Array.from(uniqueData.values()); } // 使用例子: console.log(removeDuplicates(data)); ``` 此代码会输出 `[["apple","fruit"],["banana","fruit"]]` ,即删除掉了多余的 `"apple"` 记录。 需要注意的是,这里只考虑了一维内的第一个单元格内容作为唯一标识来进行比较并消除冗余项目。如果你的情况更为复杂,比如要依据多列组合起来保证每一条记录都是独一无的,那么你可以调整 `if(!uniqueData.has(...))` 这一行条件判断部分来满足实际需求。 另外还要提醒一点:本段落所提供的方案仅适用于简单的字符串类型的匹配,并未涉及到深层次的对象对比或其他特殊规则下的判别情况,请根据实际情况做适当修改完善!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值