本文實例分析了JS限制條件補全問題。分享給大家供大家參考,具體如下:
題目一.a和b兩個變量,不用第三個變量來切換兩個變量值
var a=5; var b=6; a=a+b; b=a-b; a=a-b; alert(a); alert(b);
題目二.有一個數n=5,不用for循環,怎樣返回[1,2,3,4,5]這樣的數組
方法一.用遞歸來進行遍歷
var n=5;
function show(){
var arr=[];
return (function(){
arr.unshift(n);
n--;
if(n!=0){
arguments.callee();
}
return arr;
})();
}
alert(show(n));
方法二.用正則來匹配模擬次數
var n=5;
var arr=[];
arr.length=n+1;
var arr2=[];
var str=arr.join("a"); //中間連接符用a,要六個數才五個逗號,所以length=n+1
var re=/a/g;
str.replace(re,function(){
arr2.unshift(n--);
});
alert(arr2);
題目三.一個數n,當n<100就返回n,否則返回100,但是不能用if else、三目、switch等
方法一.Math.min
var n=150;
function show(){
return Math.min(n,100);
}
alert(show(n));
方法二.用數組排序
var n=50;
function show(){
var arr=[n,100];
arr.sort();
return arr[0];
}
alert(show(n));
方法三.根據數字轉字符串後的長度判斷,用到for循環,如果長度小於3,就返回自身,大於等於3就返回100
var n=150;
function show(){
var str="n";
for(;str.length<3;){
return n;
}
for(;str.length>=3;){
return 100;
}
}
alert(show(n));
方法四.json
var n=50;
function show(){
var json={};
var m=n<100||json; //m是布爾值
for(var attr in m){
return 100;
}
return n;
}
alert(show(n));
更多關於JavaScript相關內容感興趣的讀者可查看本站專題:《JavaScript數組操作技巧總結》、《JavaScript排序算法總結》、《JavaScript遍歷算法與技巧總結》、《JavaScript數學運算用法總結》、《JavaScript數據結構與算法技巧總結》、《JavaScript查找算法技巧總結》及《JavaScript錯誤與調試技巧總結》
希望本文所述對大家JavaScript程序設計有所幫助。