1.前世今生:根据用户输入的名字,查找他的前世是谁。
获取用户输入名字中的姓(字符串截取),从数据库/数组中查找相似的姓,提出名字,从中返回一个随机名字。
例如数组:
var arr = ["李世民","荆轲","后羿","刘邦","白起","白浅浅","李元芳","李白","刘备","刘禅","关羽","张飞","妲己","孙悟空","鲁班","安琪拉","刘亚瑟","程咬金","张无忌","张良"];
当用户输入姓名“张三”,将会从“张飞”、“张无忌”、“张良”中随机返回一个名字。
var name = prompt("请输入姓名");
var firstName = name.slice(0,1);
console.log(firstName);
var newArr = [];
for(var i=0;i<arr.length;i++){
var hero = arr[i];
if(arr[i].slice(0,1)==firstName){
newArr.push(hero);
}
}
var random = Math.random()*newArr.length;
var index = Math.floor(random);
//var index=Math.floor(Math.random()*newArr.length);
console.log(newArr);
console.log(index);
console.log("您的前世是:"+newArr[index]);
alert("您的前世是:"+newArr[index]);
2.封装一个函数,给定一个字符串数组var arr = ["com", "briup.com", "cn", "briup.com.cn", "http://www"],输出最长的字符串元素对应的索引和字符串值。
var _ = require("lodash");
var arr = ["com", "briup.com", "cn", "briup.com.cn", "http://www"];
maxKey=0;
_.forEach(arr,function(value,key){
if(value.length>arr[maxKey].length)
maxKey=key;
});
console.log("最长字符串在数组中的索引:"+maxKey,"字符串的值是:"+arr[maxKey]);
3.封装一个函数,给定一个字符串,输出出现最多次的那个字符和索引。
var str='jbdjwbdwjbbjwebbb';
function fn3(str){
var len = str.length;
var obj = {};
for(var i=0;i<len;i++){
if(str.charAt(i) in obj){
obj[str.charAt(i)]++;
}else{
obj[str.charAt(i)]=1;
}
}
var num=0;//比较值
var res='';//结果
for(var k in obj){
if(obj[k]>num){
num = obj[k]
res = k;
}
}
console.log(res);
}
4.封装一个函数,判断n是否是幸运数字
幸运数:length为偶数,并且前一半的和等于后一半的和。例如:isLucky(1230)=true
function isLucky(n) {
var str = String(n);
var flag = false;
var result1 = 0;
var result2 = 0;
if(str.length%2==0){
for(var i=0;i<str.length;i++){
if(i<str.length/2){
result1 += Number(str.charAt(i));
}else{
result2 += Number(str.charAt(i));
}
}
if(result1==result2){
flag = true;
}
}
return flag;
}
console.log(isLucky(1230));//true
5.封装一个函数,传入时间戳,返回2021-09-09 10:10:10.不借助第三方库。
var strDate = '';
$(function(){
// 获取时间戳
var nowDate = new Date().getTime(); //1564624526889
// 调用封装好的时间转换方法
timestampToTime(nowDate);
}())
function timestampToTime(timestamp) {
var date = new Date();//时间戳为10位需*1000,时间戳为13位的话不需乘1000
var Y = date.getFullYear() + '-';
var M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '-';
var D = (date.getDate() < 10 ? '0'+date.getDate() : date.getDate()) + ' ';
var h = (date.getHours() < 10 ? '0'+date.getHours() : date.getHours()) + ':';
var m = (date.getMinutes() < 10 ? '0'+date.getMinutes() : date.getMinutes()) + ':';
var s = (date.getSeconds() < 10 ? '0'+date.getSeconds() : date.getSeconds());
strDate = Y+M+D+h+m+s;
return strDate;
}
console.log(strDate) //2019-08-01 09:55:26