[趣味题]竖排文字

键盘上的探戈 上看到这俩道题的,试着用Javascript解。。

 

 

 

 

 

 

 

 

//计算字符串中各字符出现的次数。
function countalphabet(str){
	var obj={};
	obj.toString=function () { 
		var s=[];
		for(var key in this) {
			var item=this[key];
			if(typeof item !== 'function')     {
			s.push(key+':'+item);
			}
		}
		return '{'+s.join(',')+'}';
	}	
	for(var i=0;i<str.length;i++){
		obj[str.charAt(i)]=(obj[str.charAt(i)] || 0) + 1;
		}
		return obj;
}
//格式化字符串段落为 古文-右起竖排 格式
function shupai(str,sl){
	function max_length(arr) {
		var max_index=0;
		for(var i=0;i<arr.length;i++){
			max_index=arr[i].length > arr[max_index].length?i:max_index;
		}
	return arr[max_index].length;
	}

	sl=sl || '';
	var shustr='';
	var arr=str.split('\n');
	var len=max_length(arr);
	for(var j=0;j<len;j++){
		for(var i=arr.length-1;i>=0;i--){
			shustr+=(arr[i].charAt(j)  || ' ' )+(i?sl:'');
		}
	shustr+="\n";
	}
	return shustr;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值