簡體   English   中英

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM