JavaScript Array的方法

JavaScript高级设计程序(第三版)学习笔记


toString() :返回由数组中每个值的字符串形式拼接而成的一个以逗号分隔的字符串 。
valueOf() :调用valueOf()返回的还是数组

var colors = ["red", "blue", "green"]; // 创建一个包含 3 个字符串的数组
alert(colors.toString()); // red,blue,green
alert(colors.valueOf()); // red,blue,green
alert(colors); // red,blue,green

alert(Array.isArray(colors.valueOf()));  // ture
alert(Array.isArray(colors.toString()));// false 

alert(typeof colors.toString() ); // string
alert(typeof colors.valueOf() ); //object
alert(colors.valueOf() instanceof Array);//ture
调用valueOf()方法时,直接将数组传递给了alert(),由于alert()要接收字符串参数,所以它会在后台调用toString()方法,由此会得到与直接调用toString()方法相同的结果。


join() :只接收一个参数,即用作分隔符的字符串,然后返回包含所有数组项的字符串如果不给join()方法传入任何值,或者给它传入undefined,则使用逗号作为分隔符。

var colors = ["red", "green", "blue"];
alert(colors.join()); //red,green,blue
alert(colors.join(""));//redgreenblue
alert(colors.join(" "));//red green blue

reverse() ,sort() :会作用于数组本身。

var values = [1, 2, 3, 4, 5];
values.reverse();
alert(values); //5,4,3,2,1数组自身发生了变化

var values = [0, 1, 5, 10, 15];
values.sort();
alert(values); //0,1,10,15,5


面试题:

var arr = new Array(1 ,3 ,5);
    arr[4]='z';
    arr2 = arr.reverse();
    arr3 = arr.concat(arr2);
    alert(arr3);//z,,5,3,1,z,,5,3,1
注意:arr变成了[z, ,5,3,1]而不是原来的[1,3,5, ,z]。






数组去重面试:

function hasContain(arr, num)
{
	var i=0;
	
	for(i=0;i<arr.length;i++)
	{
		if(arr[i]==num)
		{
			return true;
		}
	}
	
	return false;
}

var arr=[1,2,3,4,1,5,6,4,8];
var aResult=[];
var i=0;

for(i=0;i<arr.length;i++)
{
	if(!hasContain(aResult, arr[i]))
	{
		aResult.push(arr[i]);
	}
}

alert(aResult);



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值