资讯专栏INFORMATION COLUMN

JS开发中的一些小技巧和方法

KnewOne / 803人阅读

摘要:生成指定范围内的随机数转参数验证是否为数组获取数组中的最大值或最小值该方法适合一维或者多维数组。随机获取数组里的元素从数组里查找指定的值查到了返回,没查到返回。巧用可以写成去除字符串的空格去除首尾空格去除所有空格

生成指定范围内的随机数
    function setRadomNum(min,max){
        return  Math.floor(Math.random() * (max - min + 1)) + min;
    }
json转url参数
function json2url(json) {
    var arr=[];
    for(var name in json){
        arr.push(name+"="+json[name]);
    }
    return arr.join("&");
}
验证是否为数组
function isArray(obj){
    return Array.isArray(obj) || Object.prototype.toString.call(obj) === "[object Array]";
}
获取数组中的最大值或最小值
function maxAndMin(arr){
    return {
       max:Math.max.apply(null,arr.join(",").split(",")),
       min:Math.min.apply(null,arr.join(",").split(","))
    }
}

该方法适合一维或者多维数组。

随机获取数组里的元素
function getRadomFromArr(arr){
    return arr[Math.floor(Math.random()*arr.length)];
}
从数组里查找指定的值

查到了返回true,没查到返回false。

function findInArr(arr, value){
    for (var i=0; i
生成指定长度的随机数字字母字符串
function getRandomStr(len) {
    var str = "";
    for( ; str.length < len; str  += Math.random().toString(36).substr(2));
    return  str.substr(0, len);
}
打乱数组的顺序
方式一
arr.sort(function(){return Math.random()-0.5});
方式二
function shuffle(arr) {
    var i, 
        j,
        temp;
    for (i = arr.length - 1; i > 0; i--) {
        j = Math.floor(Math.random() * (i + 1));
        temp = arr[i];
        arr[i] = arr[j];
        arr[j] = temp;
    }
    return arr;    
};

方式一使用了数组的内置排序方法:sort,而方式二是借助了一个中间量,随机数组里的两个值,让它们交换位置。

巧用&& ||
var add_level = 0; 
if(add_step == 5){ 
    add_level = 1; 
} 
else if(add_step == 10){ 
    add_level = 2; 
} 
else if(add_step == 12){ 
    add_level = 3; 
} 
else if(add_step == 15){ 
    add_level = 4; 
} 
else { 
    add_level = 0; 
}
//可以写成
var add_level = (add_step==5 && 1) || (add_step==10 && 2) || (add_step==12 && 3) || (add_step==15 && 4) || 0;
去除字符串的空格

去除首尾空格

function trim(str){
    return str.replace(/(^s*)|(s*$)/g, "");
}
trim("  hello world    "); //"hello world"

去除所有空格

function trimAll(str){
    return str.replace(/s+/g,"");
}
trimAll("   he ll o  wo  r ld    "); //"helloworld"

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/81541.html

相关文章

  • JS开发中的一些技巧方法

    摘要:前言这两年前端很火,又是前端的必会技能,在开发中其实有一些有意思的小技巧和方法,本文记录了一些我工作中遇到的一些技巧和方法。验证是否为数组先检验本地是否有函数,没有就执行后面的方法检测。最高效的方法是第一种,所以推荐使用第一种方法清空数组。 前言 这两年前端很火,JavaScript又是前端的必会技能,在JavaScript开发中其实有一些有意思的小技巧和方法,本文记录了一些我工作中遇...

    loostudy 评论0 收藏0
  • HTML-CSS-JS

    摘要:本周于上海闭幕,掘金和知乎上都有对应的实录和问答,但会议的视频目前都还没放出来,有心的同学如果找到了欢迎分享。建议中英文对照阅读。英文原文前端独立技术博客推荐推荐一些现在还在坚持原创的博主,有业界大牛,也有小鲜肉,也有国外美女。 CSS 样式书写规范最佳实践 本文的所列是实践当中得出的一套比较不错的 CSS 书写规范,可以结合自身团队发展出一套适合自己业务的规范。 CSS中的字体与排版...

    mikasa 评论0 收藏0
  • HTML-CSS-JS

    摘要:本周于上海闭幕,掘金和知乎上都有对应的实录和问答,但会议的视频目前都还没放出来,有心的同学如果找到了欢迎分享。建议中英文对照阅读。英文原文前端独立技术博客推荐推荐一些现在还在坚持原创的博主,有业界大牛,也有小鲜肉,也有国外美女。 CSS 样式书写规范最佳实践 本文的所列是实践当中得出的一套比较不错的 CSS 书写规范,可以结合自身团队发展出一套适合自己业务的规范。 CSS中的字体与排版...

    李世赞 评论0 收藏0
  • HTML-CSS-JS

    摘要:本周于上海闭幕,掘金和知乎上都有对应的实录和问答,但会议的视频目前都还没放出来,有心的同学如果找到了欢迎分享。建议中英文对照阅读。英文原文前端独立技术博客推荐推荐一些现在还在坚持原创的博主,有业界大牛,也有小鲜肉,也有国外美女。 CSS 样式书写规范最佳实践 本文的所列是实践当中得出的一套比较不错的 CSS 书写规范,可以结合自身团队发展出一套适合自己业务的规范。 CSS中的字体与排版...

    MudOnTire 评论0 收藏0
  • 你可能不知道的前端技巧

    摘要:主要分成事件,浏览器调试小技巧,其他三部分。一事件先来看一个有趣的问题。介绍一组很有用的事件。我介绍这个的目的并不是简单的介绍这个事件,而是这里有个小坑。只能通过来进行绑定。二浏览器调试小技巧用来代替在文件中打断点的操作。 这篇文章主要记录一些我在开发工作中踩过的一些坑或者新学到的一些知识。主要分成‘事件’,‘浏览器调试小技巧’,‘其他‘三部分。====================...

    elarity 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<