本文實例分析了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程序設計有所幫助。