为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 javascript 中使用集合并获得相同的结果

如何在 javascript 中使用集合并获得相同的结果

一只名叫tom的猫 2023-07-06 18:28:07
在 javascript 中,我有 2 个 seta,并从 A 组中删除 B 组A 组:7,8,9,10 B 组:8,9结果应该是:7,10使用 var availableA = [...new Set([...workingA].filter(x => !b1.has(x)))];结果不正确我可以用什么来区别?
查看完整描述

1 回答

?
婷婷同学_

TA贡献1844条经验 获得超8个赞

这可能就是您正在寻找的:


function padHours(str) {

    const [minutes, seconds] = str.match(/\d{1,2}/g);

    return (minutes.length < 2 ? '0' + minutes : minutes) + ':' + seconds;

}


const a = new Set(['07:00', '08:00', '09:00', '10:00', '11:00', '12:00', '13:00', '14:00', '15:00', '16:00', '17:00', '18:00'].map(padHours));

const b = new Set(['07:00', '8:00', '9:00', '15:00', '16:00', '17:00', '11:00', '12:00', '13:00'].map(padHours));


// Converting to an array allows to filter (which is not possible on Sets)


const arr = [...a, ...b].filter(x => !a.has(x) || !b.has(x));


console.log(arr);


// And if you absolutely want the result as a Set


const result = new Set(arr);


console.log(result);


查看完整回答
反对 回复 2023-07-06
  • 1 回答
  • 0 关注
  • 120 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信