我是個(gè)JS初學(xué)者,我即將要說的這個(gè)方法也是大部分人都能想到的:
從舊數(shù)組中取元素,一個(gè)個(gè)添加到新數(shù)組中,在添加的時(shí)候,與添加過的元素比較,如果相同,則不添加。
首先定義兩個(gè)數(shù)組:
var arrA = new Array(1,23,43,64,1,23,5,8,3,5,9);
var arrB = getNewArray(arrA); // 過濾函數(shù)
然后開始編寫函數(shù)getNewArray()
function getNewArray(receiveArray)
{
var arrResult = new Array(); //定義一個(gè)返回結(jié)果數(shù)組.
for (var i=0; i {
if (/*在這里做i元素與所有判斷相同與否, 調(diào)用函數(shù)check(arrResult, receiveArray[i]);*/)
{
arrResult.push(receiveArray[i]); // 添加該元素到新數(shù)組。如果if內(nèi)判斷為false(即已添加過),則不添加。
}
}
return arrResult;
}
然后編寫判斷函數(shù)check()
function check(receiveArray, checkItem)
{
var index = -1; // 函數(shù)返回值用于布爾判斷
for (var i=0; i {
if (receiveArray[i]==checkItem)
{
index = i;
break;
}
}
return index;
}
則在函數(shù)getNewArray()中的if應(yīng)該寫成:
check(arrResult, receiveArray[i]) == -1
好了,我們的目的達(dá)到了,合并以上代碼即可。
var arrA = new Array(1,23,43,64,1,23,5,8,3,5,9);
var arrB = getNewArray(arrA); // 過濾函數(shù)
function getNewArray(receiveArray)
{
var arrResult = new Array(); //定義一個(gè)返回結(jié)果數(shù)組.
for (var i=0; i {
if (check(arrResult, receiveArray[i]) == -1) //在這里做i元素與所有判斷相同與否
{
arrResult.push(receiveArray[i]); // 添加該元素到新數(shù)組。如果if內(nèi)判斷為false(即已添加過),則不添加。
}
}
return arrResult;
}
function check(receiveArray, checkItem)
{
var index = -1; // 函數(shù)返回值用于布爾判斷
for (var i=0; i {
if (receiveArray[i]==checkItem)
{
index = i;
break;
}
}
return index;
}
從舊數(shù)組中取元素,一個(gè)個(gè)添加到新數(shù)組中,在添加的時(shí)候,與添加過的元素比較,如果相同,則不添加。
首先定義兩個(gè)數(shù)組:
var arrA = new Array(1,23,43,64,1,23,5,8,3,5,9);
var arrB = getNewArray(arrA); // 過濾函數(shù)
然后開始編寫函數(shù)getNewArray()
function getNewArray(receiveArray)
{
var arrResult = new Array(); //定義一個(gè)返回結(jié)果數(shù)組.
for (var i=0; i
if (/*在這里做i元素與所有判斷相同與否, 調(diào)用函數(shù)check(arrResult, receiveArray[i]);*/)
{
arrResult.push(receiveArray[i]); // 添加該元素到新數(shù)組。如果if內(nèi)判斷為false(即已添加過),則不添加。
}
}
return arrResult;
}
然后編寫判斷函數(shù)check()
function check(receiveArray, checkItem)
{
var index = -1; // 函數(shù)返回值用于布爾判斷
for (var i=0; i
if (receiveArray[i]==checkItem)
{
index = i;
break;
}
}
return index;
}
則在函數(shù)getNewArray()中的if應(yīng)該寫成:
check(arrResult, receiveArray[i]) == -1
好了,我們的目的達(dá)到了,合并以上代碼即可。
var arrA = new Array(1,23,43,64,1,23,5,8,3,5,9);
var arrB = getNewArray(arrA); // 過濾函數(shù)
function getNewArray(receiveArray)
{
var arrResult = new Array(); //定義一個(gè)返回結(jié)果數(shù)組.
for (var i=0; i
if (check(arrResult, receiveArray[i]) == -1) //在這里做i元素與所有判斷相同與否
{
arrResult.push(receiveArray[i]); // 添加該元素到新數(shù)組。如果if內(nèi)判斷為false(即已添加過),則不添加。
}
}
return arrResult;
}
function check(receiveArray, checkItem)
{
var index = -1; // 函數(shù)返回值用于布爾判斷
for (var i=0; i
if (receiveArray[i]==checkItem)
{
index = i;
break;
}
}
return index;
}