zoukankan      html  css  js  c++  java
  • jquery工具函数

    jquery工具函数

     $.trim() //去除两边的空格

    $.each() //遍历数组

    对数组array中的每一个元素,调用function函数处理,但没有返回值。

    var arr=['张三','李四','王五'];
    $.each(arr,function(index,value){
        $('#box').html($('#box').html() + (index+1) + '.' + value + '<br />');
    })
    效果

     $.map() //修改数据

    对数组array中的每个元素,调用function函数进行处理,然后将结果返回,得到一个新的数组

     $.map( object, callback )

     $.map(callback(domElement,index))

    var arr = [4,2,6,9,11,25,38,59];
    var arrMap=$.map(arr,function(element,index){
        //return index < 5 && element < 6;    //这里就是按布尔值返回的
        if(index<5 && element<6){ 
            return element;
        }
    })
    alert(arrMap);
    效果
    4,2

     var arr = [4,2,6,9,11,25,38,59];
     var arrMap=$.map(arr,function(element,index){
      return[element-15,index];
     })
     alert(arrMap);

     效果

     -11,0,-13,1,-9,2,-6,3,-4,4,10,5,23,6,44,7



     js的forEach(只能用于遍历数组)

    [].forEach(function(value, index, array) {
      // ...
    });
    var data=[1,3,4] ;
    var sum=0 ;
    data.forEach(function(val,index,arr){
      console.log(arr[index]==val);  // ==> true
      sum+=val           
    })
    console.log(sum);          // ==> 8

    js的map (可用于遍历数组或者遍历对象)

    //遍历数组
    var data=[1,2,5,6,3,4];
    var sum=0;
    //原数组并未发生变化
    var sum=data.map(function(value,index,arr){
        console.log(arr[index],value,arr);
        return value*value
    })
    console.log(sum)//相当于创建新数组并不会影响以前以前的数组
    //遍历对象
    var users = [
      {name: "张含韵", "email": "zhang@email.com"},
      {name: "江一燕",   "email": "jiang@email.com"},
      {name: "李小璐",  "email": "li@email.com"}
    ];
    
    var arrMap=users.map(function(value,index,arr){
        console.log(value,index,arr)
        return value.name
    })
    console.log(arrMap);

    map值“映射”。

    [].map(function(value, index, array) {
      // ...
    });
    var data=[1,3,4]
    var Squares=data.map(function(val,index,arr){
      console.log(arr[index]==val);  // ==> true
      return val*val          
    })
    console.log(Squares);        // ==> [1, 9, 16]

    由于forEach、map都是ECMA5新增数组的方法,所以ie9以下的浏览器还不支持(万恶的IE啊),不过呢,可以从Array原型扩展可以实现以上全部功能,例如forEach方法:

    forEach map低版本下兼容的封装
    参考:http://www.cnblogs.com/jocyci/p/5508279.html
    • 不管是forEach还是map在IE6-8下都不兼容(不兼容的情况下在Array.prototype上没有这两个方法),那么需要我们自己封装一个都兼容的方法

     $.unique()删除重复的 DOM 元素

    日常所遇,随手而记。
  • 相关阅读:
    自定义UITableViewCell实现类似iBooks图书列表形式
    苹果有默认的手势识别,左右移动
    ios4 private framework
    svn 重定向
    代码合集
    CHM无法显示内容
    全面优化Windows2003
    .Net 2003使用数据库事务对象注意
    什么是托管代码和托管数据
    概念:反射和序列化
  • 原文地址:https://www.cnblogs.com/zhihou/p/7741882.html
Copyright © 2011-2022 走看看