zoukankan      html  css  js  c++  java
  • 数组、Math、JOSN总结


    json对象:

    1.数组有length属性【尽量使用for循环】
    2.而json没有length属性【可以使用for...in...循环】
    3.for in 不能遍历页面中的节点对象。


    for ( var key in json4 ) {
    alert( key );
    alert( json4[key] );
    }
    //使用方括号[]取键名,for和for in 可以相互嵌套。

     

    delete objName.key : 【对象名.要删除的属性名】

     

    在数据传输流程中,json是以文本,即字符串的形式传递的,而JS操作的是JSON对象,所以,JSON对象和JSON字符串之间的相互转换是关键。例如:

    JSON字符串:

    var str1 = '{ "name": "cxh", "sex": "man" }';

    JSON对象:

    var str2 = { "name": "cxh", "sex": "man" };

    一、JSON字符串转换为JSON对象

    //使用JS支持的转换方式:

    var obj = eval('(' + str + ')');


    或者使用浏览器支持的转换方式(IE8及以上浏览器支持):

    var obj = JSON.parse(str);

    然后,就可以这样读取:

    alert(obj.name);

    alert(obj.sex);

    注意:从jQuery 3.0开始,不推荐使用$.parseJSON。 要解析JSON字符串,请改用原生的 JSON.parse 方法。

    传入格式有误的 JSON 字符串可能导致抛出异常。

     


    二、可以运用全局方法 JSON.stringify()将JSON对象转化为JSON字符串。

    例如:使用浏览器支持的转换方式(IE8及以上浏览器支持):

    var last=JSON.stringify(obj);

    alert(last);


    特别留心:上面的多个方法中,除了eval()函数是js自带的之外,其他的多个方法都来自json.js包。新版本的 JSON 修改了 API,将 JSON.stringify() 和 JSON.parse() 两个方法都注入到了 Javascript 的内建对象里面,前者变成了 Object.toJSONString(),而后者变成了 String.parseJSON()。如果提示找不到toJSONString()和parseJSON()方法,则说明您的json包版本太低。

    --------------------------------------------------------------------


    数组的一些方法:

    push():在最后一个元素后面添加

    unshift: 在第一个元素以前添加

    pop(): 删除最后一个元素

    shift: 删除第一个

    splice(开始位置, 删除元素个数, 添加的元素,添加的元素,添加的元素,添加的元素.....)【返回被删除的项目】注释:该方法会改变原始数组。

    slice(开始位置,结束位置):截取数组/字符串

     

     

    sort(): 会将数组里面的元素转化为字符串,再进行排序。
    给数字进行排序的时候,要在sort方法里面传入一个function,这个函数里面两个参数n1,n2。注意: 数组在原数组上进行排序,不生成副本。

    // 升序: 从小到大的顺序排列
    arr.sort(function (n1,n2) {return n1 - n2;});

    // 降序: 从大到小排列
    arr.sort(function (n1,n2) {return n2 - n1;});

     

     

    join() :返回一个字符串,用于把数组中的所有元素连成一个字符串,()内放指定要使用的分隔符。如果省略该参数,则使用逗号作为分隔符


    concat() :用于连接两个或多个数组。注意:该方法不会改变现有的数组 ,而仅仅会返回被连接数组的一个副本。


    reverse() :用于颠倒数组中元素的顺序。注意: 该方法会改变原来的数组,而不会创建新的数组。


    -------------------------------------------------------------------

    Math.round(x) : 把数四舍五入为最接近的整数。
    Math.abs(x) : 返回数的绝对值。
    Math.random(x) : 返回 0 ~ 1 之间的随机数。
    Math.max(x,y)
    Math.min(x,y)
    Math.pow(x,y) : 返回 x 的 y 次幂。
    Math.floor(x) : 对数进行下舍入。
    Math.ceil(x) : 对数进行上舍入。

    Math.PI 是一个常量。

     

     

     

    -------------------------------------------------------------------------------------

    去除偶数:

    var arr = [1,2,2,3,4,4];

    for (var i = 0; i<arr.length; i++)
    {
    if (arr[i] % 2 == 0)
    {
    arr.splice(i,1);
    i--;
    }
    }
    alert(arr);

     

  • 相关阅读:
    修改Nginx的header伪装服务器
    解除与设置计算机锁定
    Adobe flash cs5 的Java运行时环境初始化错误 完美解决方法
    js正则表达式教程
    Eclipse窗口显示:独立、嵌入式
    [置顶] wzplayer for android NEON版本(添加插图)
    买了一块s5pv210 的开发板
    [置顶] android player ,wzplayer for android NEON版本(添加插图)
    make 输出 log 文件
    android player ,wzplayer for android NEON版本(添加插图)
  • 原文地址:https://www.cnblogs.com/chiangyibo/p/7061798.html
Copyright © 2011-2022 走看看