关于两个数组的对比关系 比较,想请教下大家?

作者站长头像
站长
· 阅读数 6

let arr1 = [333,555,222]let arr2 = [100,200,300]

arr1 和 arr2 中的每项是对应关系, 请问如何比较 arr1中 最大值的那项,必须对应arr2中的最小值

意思就是说,按正常情况,arr1和arr2的对应关系应为:

let arr1 = [333,555,222]let arr2 = [200,100,300]

请问如何去写判断?实际场景如:

关于两个数组的对比关系 比较,想请教下大家?

需要满足,起订量越多的 价格要越便宜

回复
1个回答
avatar
test
2024-06-23
function everyOrderMatch(arr1, arr2) {
  var list1 = [...arr1].sort((a,b) => a-b);
  var list2 = [...arr2].sort((a,b) => a-b);
  return arr1.every((n,i) => arr2[i] === list2[list2.length-1-list1.indexOf(n)])
}

把两个数组从小到大排序,list1.indexOf(n)取出arr1的数值的排序值,list2.length-1-list1.indexOf(n)是1中的排序值对应的2中的排序值(最小对应最大),arr2[i] === m判断该值是否等于arr2中相同索引的数值

回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容