function ar(farray) {
var array = farray.slice(0, 2);
for (i = 2; i <= farray.length; i++) {
if (array[0] < farray[i]) {
//Here is the problem.Why i can 't just (re)assign value, referencing to another array?
//need to be assigned-copied-rewrited!!
array[0] = farray[i];
}
}
return array[0] + array[1];
}
創建一個返回給定的最小的4個整數數組的兩個最低正數的總和的函數。沒有浮點數或空數組將被傳遞。
function sumTwoSmallestNumbers(numbers) {
var array=numbers.slice(0,2);
array.sort(function(a,b){return b-a});
array[0]=numbers[0];
array[1]=numbers[1];
for (i=2;i<=numbers.length; i++){
if (numbers[i]<array[0] || numbers[i]<array[1]) {
if (numbers[i]<array[0]) {
array[0]=numbers[i];
} else {
array[1]=numbers[i];
}
}
解決了!
//My sorting relies on positions of value in 'array', therefore for every 'for' loop I need prepared positions
array.sort(function(a,b){return b-a});
}
return array[0]+array[1];
};
你到底想達到什麼目的? – Satpal
可以請你更具體 – Mahi
當我返回它的時候,我的數組並沒有通過循環被改變。 – qazweriopkoilj