找回密码
 立即注册

QQ登录

只需一步,快速开始

行走

注册会员

5

主题

9

帖子

54

积分

注册会员

积分
54
  • 308

    金币

  • 5

    主题

  • 9

    帖子

最新发帖

[已处理] 数组操作

行走
注册会员   /  发表于:2024-10-14 11:18  /   查看:366  /  回复:3
25金币


在服务端命令里面使用数组操作distinct失败,但是直接写命令就没有问题,请问问什么,应该怎么解决。

附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

最佳答案

查看完整内容

大佬,从截图看这里数组操作的Distinct命令操作参数A有误,去重的场景是针对单个数组,具体地是[1,2,1]或者[{name:"A"},{name:"B"},{name:"A"}]这两类数组格式,如果希望针对两个字符串拆分后的数组合并去重,建议在拆分为数组前,先通过&将两个字符串拼接起来,然后在拆分为数组并Distinct

3 个回复

倒序浏览
最佳答案
最佳答案
Shawn.Liu活字格认证
超级版主   /  发表于:2024-10-14 11:18:48
来自 3#
大佬,从截图看这里数组操作的Distinct命令操作参数A有误,去重的场景是针对单个数组,具体地是[1,2,1]或者[{name:"A"},{name:"B"},{name:"A"}]这两类数组格式,如果希望针对两个字符串拆分后的数组合并去重,建议在拆分为数组前,先通过&将两个字符串拼接起来,然后在拆分为数组并Distinct

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
赛龙周
银牌会员   /  发表于:2024-10-14 12:15:42
2#
本帖最后由 赛龙周 于 2024-10-14 14:14 编辑

其实前端命令也是不对的,只是你例子掩盖了错误,你把aa改成["B00006","B00088"],就能看出问题了。

服务端命令可以用excel的函数实现:
返回只出现一次的项
=UNIQUE(HSTACK(TEXTSPLIT("B00088,B00006",","),TEXTSPLIT("B00006",",")),1,1)
返回不同的项
=UNIQUE(HSTACK(TEXTSPLIT("B00088,B00006",","),TEXTSPLIT("B00006",",")),1,0)
回复 使用道具 举报
willning
超级版主   /  发表于:2024-10-14 14:35:55
4#
除非必要,建议数组操作相关的事情,统一使用“对象与集合操作”里面的命令,比如将字符串分割为数组,用数组操作的Split。
这样就可以避免一些比较少见但难以调查的兼容性问题。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部