1.封装一个函数,给定一个字符串数组var arr = ["com", "briup.com", "cn", "briup.com.cn", "http://www"],输出最长的字符串元素对应的索引和字符串值。
function getIndex(arr){
//创建一个数组,存放给定的数组中各个元素的长度
var arr2=new Array(arr.length);
for(var i=0;i<arr.length;i++){
arr2[i]=arr[i].length;
}
//在存放长度的数组中寻找最大值,以及它的下标
var max=arr2[0];
for(var i=1;i<arr2.length;i++){
var index;
if(arr2[i]>max){
max=arr2[i];
index=i;
}
if(i==arr2.length-1){
console.log("其中最长的字符的长度为:"+max);
console.log("最长的字符串是:"+arr[index]);
return index;
}
}
}
var arr =new Array("com", "briup.com", "cn", "briup.com.cn", "http://www");
var index=getIndex(arr);
console.log("最长字符串的索引是:"+index);
2.封装一个函数,给定一个字符串,输出出现最多次的那个字符和索引。
function getSt(str){
//创建一个对象,遍历字符串的每个字符,如果对象中没有,则将对应字符的值赋予1;如果有,值就加1
var temp={};
for(var i=0;i<str.length;i++){
var k=str.charAt(i);
if(!temp[k]){
temp[k]=1;
}else{
temp[k]++;
}
}
//查找哪个字符出现的最多
var ch,max=0;
for(var i in temp){ //遍历对象中的i表示键,即给定字符串的字符
if(max<temp[i]){
max=temp[i];
ch=i;
}
}
console.log("出现的最多的字符是:"+ch);
console.log("出现的次数最多是"+max);
console.log("出现最多的字符的索引是:"+str.indexOf(ch));
}
var str=new String("2bbbdjdjxbjxsnnnn");
getSt(str);
getSt(str);
3.封装一个函数,判断n是否是幸运数字
幸运数:length为偶数,并且前一半的和等于后一半的和。例如:isLucky(1230)=true
function islucky(num){
var array=num.toString().split(""); //将数值变成字符再变成数值
if(array.length%2==0){ //查看长度是否是偶数
var sum1=0;
var sum2=0;
for(var i=0;i<array.length/2;i++){ //计算前一半的和
sum1+=Number(array[i]); //将字符变成数值后(使用Number())进行计算
}
for(var j=array.length/2;j<array.length;j++){ //计算后一半的和
sum2+=Number(array[j]);
}
if(sum1==sum2){ //比较前一半的和与后一半的和是否相等
return true;
}else{
return false;
}
} else{
return false;
}
}
console.log(islucky(1230));