对js数组的理解以及数组的一些习惯用法

来源:互联网 发布:软件研发绩效考核指标 编辑:程序博客网 时间:2024/06/06 02:26

对js数组的理解以及数组的一些习惯用法

在js中,数组可以通过字面量和new 表达式两种方法来生成。

通过字面量的例子

// 通过字面量的例子var arr = [3,4,5];console.log(typeof arr);object

通过new表达式来调用Array的构造函数以生成数组

// 通过new表达式生成的例子var arr = new Array(5);         // 对于参数只有1个的情况,该参数将会成为数组的长度var arr = new Array(3,4,'foo'); // 参数的个数将会成为数组的长度var arr = new Array('5');       // 此参数被认为是数组中下标为0的元素

根据具体情况,可以以不同的方式来解释传递给Array构造函数的参数。如果参数的数数量为1且是一个数值,它的含义是数组的长度(元素数量);如果参数的数量大于等于2,则这些参数代表的是数组的元素。 [^footnote]


对数组对象进行调用的方法

  • join() 方法将数组的所有元素组成一个字符串
var arr = new Array(3);arr[0] = "George"arr[1] = "John"arr[2] = "Thomas"document.write(arr.join());document.write("<br />");document.write(arr.join("."));George,John,ThomasGeorge.John.Thomas//也可以直接对数组字面量进行方法调用['George','John','Thomas'].join('_');George_John_Thomas 
  • sort 方法对数组的元素进行排序
    可以通过sort方法对数组的元素值进行排序。本人在学习sort方法时遇到一点小问题。首先sort有两种比较方法,一种是不带参数的,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序。要实现这一点,首先应把数组的元素都转换成字符串(如有必要),以便进行比较。

如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数 a 和 b,其返回值如下:

  • 若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的 值。
  • 若 a 等于 b,则返回 0。
  • 若 a 大于 b,则返回一个大于 0 的值。[^footnote]
// 无参数的例子var arr = ['one','two','three','four','five','six'];arr.sort();["five","four","one","six","three","two"]// 带参数的例子var arr=['One','two','Four','six']arr.sort();arr.sort(function(s,t){  return s.toLowerCase()>t.toLowerCae()?1:-1;})
  • 通过pushjoin的组合来生成字符串的常用方法
var arr = [];arr.push('<div>');arr.push(Date());arr.push('</div>');arr.join('');"<div> Sun Oct 24 2016 23:34:30 GMT+0900 (JST) </div>"
  • join对应的逆转换是string类的split方法,根据分割字符将字符串分割,之后将每一部分的字符串作为元素加入数组中,并将之返回。
var str = "Sun Oct 24 2016 23:34:30 GMT+0900 (JST) "str.split('');["Sun","Oct","24","2016","23:34:30","GMT+0900"]str.split(/\s/); 以正则表达式的形式,对字符串进行分割["Sun","Oct","24","2016","23:34:30","GMT+0900"]

-shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值。

var arr = new Array(3)arr[0] = "George"arr[1] = "John"arr[2] = "Thomas"document.write(arr + "<br />")document.write(arr.shift() + "<br />")document.write(arr)George,John,ThomasGeorgeJohn,Thomas
  • unshift()把参数加载数组的前面,返回数组的长度
var arr = [1,2,3];arr.unshift(4,5);console.log(arr);[4,5,1,2,4]
  • pop():删除数组的最后一个元素,返回删除的值。

目录

var list=[0,1,2];var b = list.pop();console.log(b);2

未完

  • 对js数组的理解以及数组的一些习惯用法
      • 通过字面量的例子
      • 通过new表达式来调用Array的构造函数以生成数组
    • 对数组对象进行调用的方法
      • 目录
  • 未完


[1]:JavaScript编程全解 [(日)井上诚一郎]

0 0
原创粉丝点击