我编写了以下代码,但我不知道它为什么不起作用。本质上,我试图从数组中的每个值中减去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;
}
答案 0 :(得分:1)
最简单的方法是使用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;
}
});
检查here,了解map
的工作原理。
答案 1 :(得分:0)
为什么从索引[i-255]中减去。 从像这样的值中减去它
private bool validate_login(string user, string pass)
{
db_connection();
MySqlCommand cmd = new MySqlCommand();
cmd.CommandText = "Select * from miembros where usuario=@user and contraseña=@pass";
cmd.Parameters.AddWithValue("@user", textBox1.Text);
cmd.Parameters.AddWithValue("@pass", textBox2.Text);
cmd.Connection = connect;
MySqlDataReader login = cmd.ExecuteReader();
if (login.Read())
{
connect.Close();
return true;
}
else
{
connect.Close();
return false;
}
}
答案 2 :(得分:0)
我认为你在寻找
&&
这会使您的输出数组与原始数组的顺序相反(对于索引不是3 mod 4的元素)。