05—数组相关函数二


/*

知识点一:splice,交接处,拼缝处

splice()方法的应用情况比较多代码解释如下:

*/

var arr = ["PHP","S","E","O"];

//删除格式:splice(index,n),从索引为index开始切n个下来,示例说明如下:

echo(arr.splice(1,3)); //输出:S,E,O

echo(arr);                           //输出:PHP,数组中还剩下 PHP一项,其他被删除

echo("--------splice()插入--------");

/*

插入格式:splice(n1,n2,element1[,element2......])

示例说明如下:

*/

var arr = ["动","院"];

arr.splice(1,0,"力","学");                //从索引为1的地方开始插入第三位及以后的所有参数

for(p in arr){

echo('arr['+p+']='+arr[p]);

}

/*输出如下:

arr[0]=动

arr[1]=力

arr[2]=学

arr[3]=院

*/

echo("--------splice()替换--------");

//格式如下:splice(n1,n2,element1[,element2......])

//索引,与个数。

var arr = ["PHP","SEO","PS","JS"];

arr.splice(2,1,"HTML","CSS");                //从索引为2的开始替换,替换一个其他保留

for(p in arr){

echo('arr['+p+']='+arr[p]);

}

/*输出如下:

arr[0]=PHP

arr[1]=SEO

arr[2]=HTML

arr[3]=CSS

arr[4]=JS

*/

/***************************************************************************************************

知识点二:回调函数的理解与应用,reduce:换算,折叠换算,减少

高级函数调用,以下函数不实用,但是能够提升函数理解和编写能力

reduce(callback[,initialValue])方法的应用代码示例:

*/

echo('--------------回调函数的应用--------------------');

var arr = [1,2,3,4,5];

var sum = arr.reduce(fnAdd);  //在函数中传入函数名称也叫回调函数

echo(sum);

//声明一个加法函数

function fnAdd(pre,cur,index,array){

echo("pre = "+pre+" cur = "+cur+" index = "+index+" array = "+array);

return pre+cur;

}

/*

输出

pre = 1 cur = 2 index = 1 array = 1,2,3,4,5

pre = 3 cur = 3 index = 2 array = 1,2,3,4,5

pre = 6 cur = 4 index = 3 array = 1,2,3,4,5

pre = 10 cur = 5 index = 4 array = 1,2,3,4,5

15

*/

echo('--------------回调函数中我们写两个形式参数,reduce还是传递了4个实际参数进来--------------------');

var arr = [1,2,3,4,5];

var sum = arr.reduce(fnAdd2);  //在函数中传入函数名称也叫回调函数

echo(sum);

//声明一个加法函数

function fnAdd2(pre,cur){

if(arguments[0]==1){

for(p in arguments){

echo("arguments["+p+"] = "+arguments[p] );

}

}

return pre+cur;

}

/*

说明:

reduce(callback[,initialValue])方法接受两个参数。

第一个参数为回调函数一般是必选的,第二个参数作为归并基础的初始值是可选的。

*/

echo('--------------回调函数的应用二--------------------');

var arr = [1,2,3,4,5];

var sum = arr.reduce(fnAdd3,15);  //在函数中传入函数名称也叫回调函数

echo(sum);                                                //输出30 = 15+数组各项

//声明一个加法函数

function fnAdd3(pre,cur,index,array){

return pre+cur;

}

//封装写函数

function echo(  str, flag ){

if(arguments[1]==1){

document.write(arguments[0]);

}

else{

document.writeln(arguments[0]);

}

}

你可能感兴趣的:(05—数组相关函数二)