前端面试准备(js)

1.翻转字符串

1-1 使用字符串函数

<script type="text/javascript">
	var str="hello";
	function  reverseString1(str){
	var array=str.split("");
	    array=array.reverse();
	    str=array.join();
	    return str;
	}                                                                                                                    </script>

或者写做:

function  reverseString2(str){
return  str.split("").reverse().join();
}

1-2 使用for循环

function  reverseString3(str){
	var newArray="";
	for(var i=str.length-1;i>=0;i--){
		newArray+=str[i];
	}
	return newArray;
}

1-3 使用递归

function  reverseString4(str){
	if(str === ""){
	   return "";
	}else{
	   return reverseString4(str.substr(1))+str.charAt(0);
	   alert(str);
	}
}

2.向数组中间插入或删除元素

2-1 使用splice方法

arrayObject.splice(index,howmany,item1,.....,itemX)
参数描述
index必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
howmany必需。要删除的项目数量。如果设置为 0,则不会删除项目。
item1, ..., itemX可选。向数组添加的新项目。

<script type="text/javascript">
       //数组a=[1,4]中间插入200,300
       var a=[1,2,3,4,5,6,7];
       window.οnlοad=function(){
           a.splice(4);//返回[5,6,7];a=[1,2,3,4]
           a.splice(1,2);//返回[2,3];a=[1,4]
          a.splice(1,0,200,300);//a=[1,200,300,5]
	}
</script>

2-2 for循环

<script type="text/javascript">
	var a=[1,2,3,4,6];
	var insword=5;//待插入字符串
	var index=4;//待插入位置
	//待插入位置后的元素全部后移一位
	for(var i=a.length-1;i>=index;i--){
		a[i+1]=a[i];
	}
	a[index]=insword;
	alert(a);
</script>

3.使用js实现千分位分隔符

3-1  正则表达式

function format(num){
	var reg=/\d{1,3}(?=(\d{3})+$)/g;
	return (num+'').replace(reg,"$&,");
}

3-2 for循环

function format2(num){
	num=num+"";//数字转字符串
	var str="";//字符串累加
	for(var i=num.length-1,j=1;i>=0;i--,j++){
	    if(j%3==0&&i!=0){//每三位添加一个逗号
		str+=num[i]+",";
		continue;
	    }
	    str+=num[i];//倒着累加数字
	}
	return str.split('').reverse().join("");
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值