![](/img/trans.png)
[英]How to subtract one array from another, element-wise, in javascript
[英]Javascript arrays subtract a value from every element in array
我編寫了以下代碼,但我不知道為什么它不起作用。 本質上,我試圖從數組中的每個值中減去 255,但它必須在 255 的第一個位置進行排序(我不能只做 i - 255,它不會得到我需要的值)。 我也試過 i+-255 無濟於事。
function makeReverse(original, output){
for (i=0; i<original.length; i++) {
output[i]=original[i]; //copy original array to output array
if ((i % 4) !== 3) {
output[i] = output[255 - i]; //why this is not working is beyond me the
values keep reading 0 for rgb
}
}
console.log(output);
return output;
}
最簡單的方法是使用map
。 像這樣的東西:
original.map(function(element){
return element - 255;
});
或者在 ES6 中:
original.map(element => element - 255);
或者,如果您只想從某個條件下的值中減去:
original.map(function(value){
if(value % 4 !== 3){
return value - 255;
} else {
return value;
}
});
點擊此處了解map
工作原理。
為什么要從索引 [i-255] 中減去。 從這樣的值中減去它
output[i] = output[i]-255;
我想你正在尋找
output[i] = original[255 - i];
這將使您的輸出數組與原始數組相反(對於索引不是 3 mod 4 的元素)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.