JS限制条件补全问题实例分析

(编辑:jimmy 日期: 2026/1/29 浏览:2)

本文实例分析了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程序设计有所帮助。

一句话新闻

高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。