我有兩個基本相同的函數 - 他們遍歷一些數組。 區別在於循環內部發生了什麼。如何優化代碼?
func1: function() {
var result = "";
for (var i = 0; i < array1.length; i++) {
result = result + array1[i].field1 + ', ';
}
if (result.length > 0) {
return result.substring(0, result.length - 2);
} else return ""
},
func2: function() {
var result = "";
for (var i = 0; i < array2.length; i++) {
result = result + array2[i].field2 + ', ';
}
if (result.length > 0) {
return result.substring(0, result.length - 2);
} else return ""
},
什麼是正確的方式說只使一個功能,或使兩個繼承一些共同的代碼? 我看到一個解決方案,使它只是一個功能,並提供不同的參數:
func: function (array, fieldName) {
var result = "";
for (var i = 0; i < array.length; i++) {
result = result + array[i].[fieldName] + ', ';
}
if (result.length > 0) {
return result.substring(0, result.length - 2);
} else return ""
},
但東西告訴我它的醜陋。什麼是正確的方法來做到這一點?
'陣列[I] [字段名]'是錯誤的;它應該是'array [i] [fieldName]'。除此之外,沒關係。這是什麼參數。 – Xufox
我認爲[代碼評論](http://codereview.stackexchange.com)是這個問題的一個更好的地方? – kiro112
您是否需要與舊版瀏覽器兼容? –