您的位置:首页 > Web前端 > JavaScript

javascript的简单逻辑题目

2015-08-17 21:31 716 查看
ps:纯属练习逻辑,项目开发中实际用处不大,老鸟飘过。

题目1:求一个数组的最大ji数和最小偶数,并返回他们的和,如果一个数不存在则返回null。

方法1:

function evenOdd(arr){
var even=[],// 偶数
odd=[];//基数
for(var i=0;i<arr.length;i++)
if(arr[i]%2==0){
even.push(arr[i]);
}else{
odd.push(arr[i]);
}

if(even.length==0||odd.length==0){
console.log('null');
return null;
}else{
even.sort(function(a,b){
return a-b;
});
odd.sort(function(a,b){
return a-b;
});
}

var maxOdd = odd[odd.length-1];
var minEven = even[0];

console.log('最大基数:'+maxOdd);
console.log('最小偶数:'+minEven);
console.log('最大基数和最小偶数之和为:'+(maxOdd+minEven));
}

evenOdd([])


方法2:

function maxOddMinEven(arguments){
var odd = [],
even = [];
for(var i = 0; i < arguments.length; i++){
if(parseInt(arguments[i]) == arguments[i]){ //如果是整数
if(arguments[i] % 2) {
odd.push(arguments[i]);
}else{
even.push(arguments[i])
}
}
}
odd.sort(function(a,b){return a>b?1:-1}
); //升序排序
even.sort(function(a,b){return a<b?1:-1}); //降序排序
console.log(odd[0],even[0]);

if(odd && even){
return odd[0] + even[0];
}else{
return null;
}
}
console.log(maxOddMinEven([1,2,3,4,5,6,7,8,9]))


题目2:字符串逆序排列

function reverseStr(str){
var str1=str.split('').reverse().join('');
console.log(str1);
}

reverseStr('1 ab cd');


题目三:数组中第二大的数

思路:

function secondMax(arr){
arr.sort(function(a,b){
return a-b;
});

var len=arr.length,
last=arr[len-1];

for(var i=len-2;i>=0;i--){
console.log(arr[i])
if(arr[i]!=last){
console.log('第二大的数字为:'+arr[i]);
return arr[i];
}
}
}
secondMax([9,0,99,100])


判断回文:

//判断回文  abccba
function checkHw(num){
var Xnum=num.toString();
for(var i=0;len=Xnum.length,i<(len-1)/2;i++){
if(Xnum.charAt(i)==Xnum.charAt(len-1-i)){
return num+'是回文';
}else{
return num+'不是回文';
}
}
}

console.log( checkHw('abccba'))
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: