1、关于json

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集.也可以称为数据集和数组类似,能够存数据!

  1. //Array数组
  2. //数组的常用语法如下  数组用中括号<[]存储数据> length数组的长度<数组独有!>
  3. var Array=[1,3,5,7,9];
  4. //    数组名 Array<数组/保留字,保留字>
  5. //alert(Array.length);    弹出当前  Array数组的长度length
  6. //alert(Array[0]);    数组的取值  数组名加[]中括号  括号里面是第几个
  7. //Array数组的循环  <遍历>
  8. //数组的第一种循环   for(var i=0;i<Array.length;i++){}
  9. //数组的第二种循环   for(var i in Array){alert(i);}
  10. //json  数据集
  11. //常用的json语法 如下  json用大括号<{}存储数据>  length不能表示json数据集的长度<数组独有!>
  12. //  var json={a:5,b:7,c:9};           和数组的区别
  13. //声明变量  变量名={变量名:冒号 值,逗号隔开}
  14. //    json名 json<数据集/保留字>
  15. //  alert(json.a);            // 取值方法1 变量名<.句号 下标>变量名
  16. //  alert(json['a']);         // 取之方法2变量名[]中括号['变量名']; 写成字符串
  17. //例子如下
  18. //  var aNumber={a:5,b:6,c:7};
  19. //  aNumber.b++;                  //能够++   6=6+1/6=+1/6++
  20. //  alert(aNumber['b']);             //结果是7
  21. //json的循环  用for in  循环 <只能用for in 循环>
  22. //      for(var i in aNumber){
  23. //          alert(aNumber[i]);
  24. //弹出数据集的  所有遍历 的值
  25. //      };
  26. //                    json数据集与Array数组的区别!<三点>
  27. //      1、 存储数据:  json数据集                                  Array数组
  28. //      json={a:5,b:6,c:7};                            Array=[1,2,3,4];
  29. //              2、取值方法:   json数据集                                  Array数组
  30. //      json[i]全部/  json['a'];<变量名外加字符串>                 Array[i];全部/ Array[0];
  31. //      2、循环方法:   json数据集                                  Array数组
  32. //              json没有length只能用for in 循环                            数组能用for循环和for in循环  length是数组的长度<只有数组能使用>

JavaScript arguments对象

1、在JavaScript中,arguments对象是比较特别的一个对象,它可变参可以存储所有的参数.  arguments非常类似Array数组,但实际上又不是一个Array数组.在函数中,调用arguments是不必要写成任何函数名,而是直接写arguments即可.

2、arguments对象的长度是由实参个数决定的。形参是函数内部重新开辟内存空间存储的变量,但是其与arguments对象内存空间并不重叠。对于arguments和值都存在的情况下,两者值是同步的.

  1. function sum(){
  2. var sum=0;
  3. for(var i=0;i<arguments.length;i++){  //arguments存储了所有的参数
  4. sum=sum+arguments[i];         //a+=arguments; 每个数值被循环到后都与sum相加
  5. }
  6. return sum;                           //返回return写在循环下面是循环结束后得到的结果
  7. }
  8. alert(sum(81,88,999,4,8,6,3,4,7));

所有的形参都存储到了arguments里面 实参直接传给arguments

2、Array数组                使用原则,数组中只存储一种变量!

数组使用的语法

  1. //数组的写法
  2. //写法一
  3. var arr=new Array(8,6,4);
  4. //写法二
  5. var arr=[8,6,4];

我们可以看到最后的结果都是一样的但是写法二的效率明显要高的多  数组名=[];    代码短

如果我们需要取得数组中存储的某一个值,这个时候我们直接用数组加下标即可 如果需要获取数组的存储的数值的长度的话使用length 代码如下:

  1. var aUserName=['一','二','三','四','五']; //声明一个数组
  2. alert(aUserName[0]);                   //弹出找到这个数组的第一个值
  3. var b=aUserName.length;                //把这个数组的长度length赋予给b
  4. alert(b);                              //弹出这个数组的长度

length也能限制数组的长度 代码如下:

  1. var aUserName=['一','二','三','四','五']; //声明一个数组
  2. alert(aUserName[0]);                   //弹出找到这个数组的第一个值
  3. alert(aUserName.length);               //弹出这个数组的长度
  4. aUserName.length=3;                    //length可以限制数组的长度
  5. alert(aUserName);                      //这时候弹出数组明显只能看到3位数值
数组Array 对象方法
数组Array 对象方法
数组名+方法名 描述
concat() 连接两个或更多的数组,并返回结果。
join() 把数组的所有元素放入一个字符串.元素通过指定的分隔符进行隔.
pop() 删除并返回数组的最后一个元素
push() 向数组的末尾添加一个或更多元素,并返回新的长度。
reverse() 颠倒数组中元素的顺序。
shift() 删除并返回数组的第一个元素
slice() 从某个已有的数组返回选定的元素
sort() 对数组的元素进行排序
splice() 删除元素,并向数组添加新元素。
toSource() 返回该对象的源代码。
toString() 把数组转换为字符串,并返回结果。
toLocaleString() 把数组转换为本地数组,并返回结果。
unshift() 向数组的开头添加一个或更多元素,并返回新的长度。
valueOf() 返回数组对象的原始值
数组常用的方法枚举
1、从数组尾部开始的添加,语法:数组名.push();  要添加到Array数组  尾部的值,可以是一个或多个。方法push()将把它的参数顺次添加到数组Array的尾部。它直接修改array,而不是创建——个新的数组。方法push()和方法pop()用数组提供先进后出栈的功能。  <该方法会改变原数组>
 
理解栈(zhan) 栈是一个存储东西的容器 如果比喻成箱子的话 依次从箱子的最底部开始存放东西 直至存满 一层一层压积  所以最先放进去 栈里面的东西要拿出来的话 是最后才会出来的 因为要一层一层 的拿开 
 
数组名.push(要添加的值 多个时用逗号隔开)   使用方法  代码如下:
  1. //push使用方法
  2. var aArr=[6,7,8];    //声明数组
  3. aArr.push(9,10,11);  //像数组尾部添加数值  可添加一个或者多个
  4. alert(aArr);         //弹出的结果是6,7,8,9,10,11,
 

2、从数组尾部开始的删除, 语法:数组名.pop();   方法pop()每次去删除数组Array的最后一个元素,把数组长度减1,并且返回它删除后剩余的元素的值。

 
数组名.pop(不用写任何东西)                           使用代码如下:
  1. //push使用方法
  2. var aArr=[6,7,8];    //声明数组
  3. aArr.pop()           //使用后每次删除最后一个数值  直至删除完毕   剩余6  7
  4. aArr.pop()           //剩余6
  5. aArr.pop()           //空
  6. alert(aArr);         //弹出的结果是6,7,8,9,10,11,

3、 从头部开始的添加   方法unshift()  是将把它括号里面 的参数插入数组Array数组的头部,并将已经存在的元素顺次(向下排列 比如原来的第一位是1 下标是0当使用 unshift(9)方法 插入9 以后 9的下标是0    1的下标改变为1 在0的后面   依次向下排列 )       移地到较高的下标处,以便留出空间。

数组名.unshift();                                        代码如下
  1. //unshift的使用方法
  2. var arr=[6,7,8];
  3. arr.unshift(9);         //删除数组的首个元素
  4. alert(arr);             //结果为9,6,7,8



4、从头部开始的删除  方法shift()和方法Array.pop()相似,只不过它在数组头部(从数组头部开始删除)操作,而不是在尾部操作。该方法常常和unshift()一起使用。
 数组名.shift();                                               代码如下:
  1. //shift的使用方法
  2. var arr=[6,7,8];
  3. arr.shift();         //删除数组的首个元素
  4. alert(arr);          //结果为7,8

5、从位置删除、添加、置换数组  语法  数组.splice(start, deleteCount, value, ...)  中间是逗号隔开  能实增 删 改

start代表的是
开始插入和(或)删除的数组元素的位置(是下标)从下标的位置开始   即0代表1    开始的位置
deleteCount
从start开始,包括start所指的元素在内要删除的元素个数。这个参数是可选的,如果没有指定它,splice()将删除从start开始到原数组结尾的所有元素。
value, ...
要插人数组的零个或多个值(多个时 中间用逗号隔开),从start所指的下标处开始插入。

代码如下:

  1. //方法splice 使用方法
  2. var arr=[1,2,3,4,5,6];
  3. arr.splice(0,1,9,9,9,9);   //第一个值代表从第一个开始 , 删除的个数 , 后面是需要 添加的值
  4. alert(arr);                //弹出结果 9,9,9,9,1,2,6

置换:

  1. //方法splice 使用方法
  2. var arr=[1,2,3,4,5,6];
  3. arr.splice(0,2,9,9);   //第一个值代表从第一个开始 , 删除的个数 , 后面是需要 添加的值
  4. alert(arr);            //弹出结果 9,9,3,4,5,6

6、数组的拼接 语法   数组.concat()   将创建并返回一个新数组,这个数组是将所有参数都添加到array中生成的。它并不修改array。如果要进行concat()操作的参数是一个数组,那么添加的是数组中的元素,而不是数组。

代码如下:

  1. var arr=[1,2,3,4,5,6]
  2. var brr=['a','b','c','d','e','f'];
  3. alert(brr.concat(arr));            //弹出结果a,b,c,d,e,f,1,2,3,4,5,6

把数组arr拼接在数组brr后面

改变代码顺序:

  1. var arr=[1,2,3,4,5,6]
  2. var brr=['a','b','c','d','e','f'];
  3. alert(arr.concat(brr));            //弹出结果1,2,3,4,5,6,a,b,c,d,e,f,

把数组brr拼接在数组arr后面

concat常用于拼接.  拼接和弹出是一块儿写在alert()里面的.

7、数组的分隔符语法.join();    需要使用时写在alert()里面 且分隔符用 '  '     用单引号包住!

代码如下:

  1. //join 语法
  2. var arr=[1,2,3,4,5,6];
  3. alert(arr.join('  '));   //单引号直接可以是任何字符 弹出的结果是 1~2~3~4~5~6 包括空格

不会增加  只有在直接作用时才有用  是连接符 .拼接的元素 在两个两个元素之间进行添加  当只在括号加('')两个空单引号时 会把逗号给去掉 成拼接作用

join括号里面的参数:  在返回的字符串中用于分隔数组元素的字符或字符串,它是可选的。如果省略了这个参数,用逗号作为分隔符

8、数组的排序   语法  数组名.sort();

  1. //sort数组的排序
  2. var arr=[8,9,7,3,6,4,5,2,1];
  3. var brr=['float', 'width', 'alpha', 'zoom', 'left'];
  4. arr.sort();
  5. brr.sort();
  6. alert(arr);//结果为 1,2,3,4,5,6,7,8,9
  7. alert(brr);//结果为alpha,float,left,width,zoom

方法sort()将在原数组上对数组元素进行排序,即排序时不创建新的数组副本。如果调用方法sort()时没有使用参数,将按字母顺序(更为精确地说,是按照字符编码的顺序)对数组中的元素进行排序。要实现这一点,首先应把数组的元素都转换成字符串(如果有必要的话),以便进行比较。
如果想按照别的顺序进行排序,就必须提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数a和b,其返回值如下:
       如果根据你的评判标准,a小于b,在排序后的数组中a应该出现在b之前,就返回一个小于0的值。

如果a等于b,就返回0。

如果a大于b,就返回一个大于0的值。

代码如下:

  1. //sort数组的排序
  2. var arr=[12, 8, 99, 19, 112];
  3. arr.sort(function (n1,n2){ //对比值 两个形参
  4. if(n1<n2)              //1<2  返回-1  将两个数的位置调换 a小于b,在排序后的数组中a应该出现在b之前,就返回一个小于0的值
  5. {
  6. return -1;
  7. }
  8. else if(n1>n2)         //1>2 返回1  返回一个正数 然后进行排序
  9. {
  10. return 1;
  11. }
  12. else
  13. {
  14. return 0;         // 如果n1等于n2,就返回0  保持这个顺序
  15. }
  16. });
  17. alert(arr);

加入这个函数

其实还可以简写 简写方式如下:

  1. //sort数组的排序
  2. var arr=[12, 8, 99, 19, 112];
  3. arr.sort(function (n1,n2){ //对比值 两个形参
  4. //return n1-n2;          //升序 小到大
  5. return n2-n1;            //降序 大到小
  6. });
  7. alert(arr);

9、颠倒顺序 数组名.reverse( )颠倒数组中元素的顺序
代码如下:

  1. //reverse数组的颠倒顺序
  2. var arr=[1,2,3,4,5,6,7,8,9,10];
  3. arr.reverse();
  4. alert(arr);   //结果为10,9,8,7,6,5,4,3,2,1

10、把数组类型转为字符串 语法 数组名.toString( );   将把数组转换成一个字符串,并且返回这个字符串。当数组用于字符串环境中时,JavaScript会调用这一方法将数组自动转换成一个字符串。但在某些情况下,需要明确地调用这个方法。

toString()在把数组转换成字符串时,首先要将数组的每个元素都转换成字符串 (通过调用这些元素的toString()方法)。当每个元素都被转换成字符串时,它就以列表的形式输出这些字符串,字符串之间用逗号分隔。返回值与没有参数的join()方法返回的字符串相同。
代码如下:

  1. var arr = new Array(3);
  2. arr[0] = "George";
  3. arr[1] = "John";
  4. arr[2] = "Thomas";
  5. //          document.write(arr.toString());
  6. alert(arr.toString());//结果为返回一个拼接的字符串中间用逗号隔开 George,John,Thomas;

11、返回一个新数组,原数组不变  语法 : 数组名.slice();

  slice方法用于提取原数组的一部分,返回一个新数组,原数组不变. 它的第一个参数为起始位置(从0开始),第二个参数为终止位置(但该位置的元素本身不包括在内)。如果省略第二个参数,则一直返回到原数组的最后一个成员。

代码如下:

  1. //slice数组的方法
  2. var arr = [1,2,3,4,5,6,7,8];
  3. //alert(arr.slice(0));    //返回值为1,2,3,4,5,6,7,8
  4. //alert(arr.slice(1,4));  //返回值为2,3,4
  5. //alert(arr.slice(2,5));  //返回值为3,4,5
  6. //alert(arr.slice(3));    //返回值为4,5,6,7,8
  7. alert(arr);               //返回值为1,2,3,4,5,6,7,8

当 slice为负数,则表示倒数计算的位置.

    1. //slice数组的方法
    2. var arr = [1,2,3,4,5,6,7,8,9,10,11];
    3. //alert(arr.slice(-3));      //返回的值为8,9,10  倒数三位数
    4. //alert(arr.slice(-3,-1));   //返回的值为最后倒数的三位数 的倒数第二位  9,10
    5. alert(arr);                 //返回的值为 1,2,3,4,5,6,7,8,9,10,11

JavaScript的json和Array及Array数组的使用方法的更多相关文章

  1. javascript获取json对象的key名称的两种方法

    javascript获取json对象的key名称的两种方法 数据处理中,你可能接收到一个不确定内容格式的json对象,然后要把key的值提取出来.今天试过两种可以提取json key的方法,均可以正常 ...

  2. JavaScript基础精华03(String对象,Array对象,循环遍历数组,JS中的Dictionary,Array的简化声明)

    String对象(*) length属性:获取字符串的字符个数.(无论中文字符还是英文字符都算1个字符.) charAt(index)方法:获取指定索引位置的字符.(索引从0开始) indexOf(‘ ...

  3. javascript中的稀疏数组(sparse array)和密集数组

    学习underscore.js数组相关API的时候.遇到了sparse array这个东西,曾经没有接触过. 这里学习下什么是稀疏数组和密集数组. 什么是密集数组呢?在java和C语言中,数组是一片连 ...

  4. JavaScript引用类型之Array数组的排序方法

    数组中已经存在两个JavaScript给我们定义好的重排序的方法:reverse()和sort()方法,下面来简单分析下: 1.reverse()    用于反转数组项的顺序,代码如下: <sc ...

  5. JavaScript中的内置对象-8--1.Array(数组)-Array构造函数; 数组的栈方法; 数组的转换方法; 数组的操作方法; 删除-插入-替换数组项; ECMAScript为数组实例添加的两个位置方法;

    JavaScript内置对象-1Array(数组) 学习目标 1.掌握任何创建数组 2.掌握数值元素的读和写 3.掌握数组的length属性 如何创建数组 创建数组的基本方式有两种: 1.使用Arra ...

  6. 转 JavaScript里的数组转化新方法Array.From

    过去,我们使用各种各样的方法来将类似Array对象的东西(比如 arguments 和 NodeList) 转换成真的数值.比如下面这个: 将NodeList转换成数组 基本上,这些东西我们都可以使用 ...

  7. javascript内置对象一: Array数组

    在JavaScript中的任何事物,字符串,数组,函数等等都是对象. 理解:浏览器自己封装好的对象,可以直接使用. push   /pʊʃ/  增加 在末尾增加              unshif ...

  8. JavaScript引用类型之Array数组的栈方法与队列方法

    一.栈方法 ECMAScript数组也提供了一种让数组的行为类似与其他数据结构的方法.具体的来说,数组可以变现的向栈一样,栈就是一种可以限制插入和删除向的数据结构.栈是一种LIFO(Last In F ...

  9. javascript 学习总结(二)Array数组

    1.数组常用方法 var colors = ["red", "blue", "green"]; //creates an array wit ...

随机推荐

  1. D1.1.利用npm(webpack)构建基本reactJS项目

    前提: 已经安装nodejs和npm #全局安装webpack 自动构建化工具,职能管理项目:webpack-dev-server是开发工具,提供 Hot Module Replacement 功能# ...

  2. 《Pro Express.js》学习笔记——Express框架常用设置项

    Express 设置 系统设置 1.       无须再定义,大部分有默认值,可不设置 2.       常用设置 env view cache view engine views trust pro ...

  3. 看的oracle数据库视频 记的一点笔记

    3个默认的用户    sys          //网络管理员  权限由上到下降低 [最后加上 as sysdba]    system  //本地管理员    scott     //普通用户  默 ...

  4. c语言问卷调查

    你对自己的未来有什么规划?做了哪些准备? 找一家公司实习积攒创业基金.努力学习专业知识,从各方面完善自身,参与各项活动如辩论赛,竞赛等锻炼自己. 2.你认为什么是学习?学习有什么用?现在学习动力如何? ...

  5. python简单文件操作

    写软件著作申请,需要将所有源代码代码贴入一个word中,在源代码前后要添加一些标记,如下: //////////////////////////// //filename1 ///////////// ...

  6. 如何让UIView中的Button点击之后跳转到另一个ViewController上去,ViewController上也有一个按钮 可以返回

    第一种方法:如果使用导航第一个按钮方法:[self.navigationController pushViewController:secondVC animated:YES];第二个按钮方法:[se ...

  7. EF的增删改查

    //获取分组信息        public List<UserGroupLogSys> GetUserGroupLogSyslist(int pageIndex, int pageSiz ...

  8. 《java异常的一些总结》

    关于Java中异常的一些总结: 3 有些时候,程序在try块里打开了一些物理资源(例如数据库连接,网络连接. 4 和磁盘文件等),这些物理资源都必须显示回收. 5 6 注意:Java的垃圾回收机制不会 ...

  9. css样式多个类、标签用【逗号 空格 冒号 点】分开的解析

    一:#a,b{…………}  id叫a和一个标签是b的样式(平行关系) 二:#a b{…………}  id叫a下面的一个标签是b的样式(包含关系) 三:#a.b{…………}  id叫a的下面的class叫 ...

  10. 解决protobuf不能直接在IOS上使用,利用protobuf-net在IOS上通讯

    ---------------------------------------------------------------------------------------------------- ...