原生函数笔试题
1.简单的数组排序 sort()
var Arr1=[4,8,5,9,6,1,36]
var arrSo = Arr1.sort()
// console.log(arrSo)
2.数组自定义排序
var Arr2 = [4,8,5,9,6,1,36]
Arr2.sort(function(a,b){
return a-b;
})
// console.log(Arr2)
3.截取字符 'adfkwol'中的‘kwo’
var str = 'adfkwol'
if(/kwo/.test(str)){
var str1 = str.substr(str.indexOf('kwo'),3)
document.write(str1)
}
4.判断数组中是否有1,如果没有添加进去
var arrr=[5,7,9,6,30]
for(var i=0;i<arrr.length;i++){
if(arrr[i]!==1){
arrr.push(1)
break;
}
}
5 对数组.array1 = [1,2,3,4,2,'hello',111,222,4,3,55,'hello']操作,去掉重复元素
var array1 = [1,2,3,4,2,'hello',111,222,4,3,55,'hello']
var newArr = []
for(var i=0;i<array1.length;i++){
if((newArr.indexOf(array1[i]))==-1){
newArr.push(array1[i])
}
}
//console.log(newArr)
6.判断一个字符串中出现最多次数的字符,并得出次数
function mystr(a){
var newstr={}
for(var i=0;i<a.length;i++){
var key1 = a[i]
if(!newstr[key1]){
newstr[key1] = 1;
}else{
newstr[key1]++;
}
}
var max = 0;
var max_key = '';
var key1;
for(key1 in newstr){
if(newstr[key1]>max){
max = newstr[key1];
max_key = key1
}
}
// console.log("max_key:"+max_key+' max:'+max)
}
var str='asdsasas'
mystr(str)
7.编写一个函数,接受数字类型的参数10个,函数返回执行结果为所有参数的平均值,如果输入其他类型的参数则报错
function tex(){
//1.判断参数的长度
var sum=0;
var leng = arguments.length
if(leng>=10){
for(var i=0;i<10;i++){
//2.判断数据类型
if((typeof arguments[i])=='number'){
sum+=arguments[i]
}else{
throw new Error('数据类型错误')
}
}
return sum;
}else{
throw new Error('输入个数不符合规则')
}
}
// console.log((tex(1,2,3,4,5,6,7,8,9,10))/10);
9.一个函数接受任意数量的参数,如果传递过来参数都是数组,则进行数组合并(不要求去重),返回合并之后的新数组;
如果传递过来的都是字符串,则进行字符串连接,返回连接之后的字符串;如果传递过来的参数不符合上述两种条件,则报错。
function myArry(){
var arr=[];
var str='';
var sum=0;
var stm =0;
var len= arguments.length;
for(var n=0;n<len;n++ ){
if(arguments[n] instanceof Array){
sum++;
}else if((typeof arguments[n]) == 'string'){
stm++;
}else{
throw new Error('错误')
}
}
if(sum==len){
for(var i=0;i<len;i++){
arr=arr.concat(arguments[i])
}
return arr;
}else if(stm==len){
for(var s=0;s<len;s++){
str+=arguments[s]
}
return str;
}else{
throw new Error('错!')
}
}
// console.log(myArry("1","2","3"))
10.求一个字符串字节的长度
function strlg(str){
var len = str.length;
var bylen = len;
for(var i=0;i<len;i++){
if(str.charCodeAt(i)>225){
bylen++;
}
}
// console.log(bylen)
}
var str = 'hello'
strlg(str)