给定两个数组 a 和 b,编写一个函数 comp(a, b)(Clojure 中的 compSame(a, b))检查这两个数组是否具有“相同”元素,具有相同的多重性。这里的“相同”意味着 b 中的元素是平方中的元素,无论顺序如何。
例子
有效数组
a = [121, 144, 19, 161, 19, 144, 19, 11] b = [121, 14641, 20736, 361, 25921, 361, 20736, 361]
comp(a, b)
返回真,因为在 b 中,121 是 11 的平方,14641 是 121 的平方,20736 是 144 的平方,361 是 19 的平方,25921 是 161 的平方,依此类推。
首先,我只想检查每个项目并测试平方版本是否存在于另一个数组中。这是我的代码:
function comp(array1, array2){
return array2.every((item)=>{
let a = array1.indexOf((item ** 2));
if(a >=0){
return true;
} else{
return false;
}
})
}
console.log(comp([121, 144, 19, 161, 19, 144, 19, 11], [121, 14641, 20736, 361, 25921, 361, 20736, 361]));
这个例子当然应该返回 true。我的代码看起来很基本,所以我不确定为什么它不起作用。此外,如果我为第二个数组放置一个空数组,它会返回 false。
慕娘9325324
哆啦的时光机
BIG阳
茅侃侃
相关分类