- 构造一个函数
func(arr,x)
,使用sort()
函数将给定的数组arr
随机排序,
并打印出该数组,以及变量x
在该数组中的下标
- 例如: func([1,2,3,4,5,6],5)
- 输出:
arr : [1,4,5,3,2,6] (随机排序)
index : 2
正解吗??NO
function func(arr,x){
console.log(arr.sort());
console.log(arr.indexOf(x));
}
func([1,2,3,4,5,6,7,8,9,10],5);
这个函数只是简单的采用arr.sort()方法来实现的,但是如题所示随机数组。根据arr.sort()方法,我们可以写一个随机函数,引入到该方法里面来实现随机函数
//随机函数,随机产生一个数,如果数大于0.5,a在b前面,否则a在b后面
function randomSort(a, b) {
return Math.random() > 0.5 ? -1 : 1;
}
function func(arr,x){
console.log('arr:'+arr.sort(randomSort));
for(var i=0;i<arr.length;i++){
if(arr[i]==x){
console.log("index:"+ i);
}
}
console.log(arr.sort(randomSort));
}
func([1,2,3,4,5,6],5);
更简单的做法(只是代码更少而已)
function randomSort(a, b) {
return Math.random() > 0.5 ? -1 : 1;
}
function func(arr,x){
console.log('arr:'+arr.sort(randomSort));
console.log('index:'+arr.indexOf(x));
}
func([1,2,3,4,5,6],5);
- 构造一个函数
func(arr)
,str1
与str2
都是字符串,
使用forEach()函数比较两 个字符串,如果str1
包含了str2
中的所有字符,
函数返回true
,否则返回false
- 例如:
func(["hello", "hey"]) //false,没有y
func(["Mary", "Army"]) //true
function func(arr){
//所有字符不分大小写
var arr1=arr[0].toLowerCase().split('');
var arr2=arr[1].toLowerCase().split('');
var flag=true;
arr2.forEach(element => {
//根据数组的indexOf()方法的特性
if(arr1.indexOf(element)==-1){
flag=false;
}
});
return flag;
}
func(["hello", "hey"]) //false,没有y
func(["Mary", "Army"]) //true
- 构造一个函数
func(arr,num)
,使用sort()
,slice()
,push()
,将arr
分成num
大小的数组,将每一个小数组升序排序后放入同一个数组返回
- 例如:
func([1,5,4,2,3,8,7],2)
输出:
[[1,5],[2,4],[3,8],[7]] - 例如:
func([1,5,4,2,3,8,7],3)
输出:
[[1,4,5],[2,3,8],[7]]
function func(arr,num){
var b=[];//定义空数组存放
for(var i=0;i<arr.length;){
b.push(arr.slice(i,i+num).sort());
i+=num;//每隔num个
}
return b;
}
func([1,5,4,2,3,8,7],3);// [[1,4,5],[2,3,8],[7]]
- 构造一个函数
func(str1,str2)
,使用substr()
方法,判断str1
是否以
str2
结尾,返回true
或false
- 例如:
func('an apple','apple') //true
func('not an apple','le') //true
function func(str1,str2){
//获取两个字符串的长度
var a=str1.length;
var b=str2.length;
if(str1.substr(a-b,b)==str2){
return true;
}
else{
return false;
}
}
func('an apple','apple') //true
- 构造一个函数
func(str)
,将该字符串倒置并返回
- 例如:
func('asdfgh') //hgfdsa
func('apple') //elppa
function func(str){
return str.split('').reverse().join('');
}
func("hello");//olleh
详情请点击翻转字符串
网友评论