给出两个不等长的数组:
protected static Img readimg(Image num1) {
PixelReader pixelReader = num1.getPixelReader();
int height = (int)num1.getHeight();
int width = (int)num1.getWidth();
Img news = new Img(width, height);
for (int y = 0; y < height; y++){
for (int x = 0; x < width; x++){
news.set(x, y, pixelReader.getArgb(x, y) );
}
}
return news;
}
如何找到两个数组中共有的值?在这种情况下,输出应为“ 1、2、5、3”。
答案 0 :(得分:2)
虽然您希望获得具有共同值的唯一项,但是可以对两个数组都使用Set
并过滤唯一值。
此提案返回的结果与上述复制目标不同。
function getCommon(a, b) {
return [...new Set(a)].filter(Set.prototype.has, new Set(b));
}
var a = [1, 2, 5, 1, 2, 5, 5, 3],
b = [2, 5, 5, 3, 1, 10];
console.log(getCommon(a, b));
答案 1 :(得分:0)
在javascript中,您可以使用以下两个功能
function intersect(a, b) {
return a.filter(Set.prototype.has, new Set(b));
}
function removeDuplicates(arr){
let unique_array = []
for(let i = 0;i < arr.length; i++){
if(unique_array.indexOf(arr[i]) == -1){
unique_array.push(arr[i])
}
}
return unique_array
}
var array1=intersect([1,2,5,1,2,5,5,3], [2,5,5,3,1,10]);
console.log(array1);
console.log(removeDuplicates(array1));