Object类型与Array类型

总结--JS中的引用类型:

    Object类型,Array类型,Boolean类型,Number类型,String类型,Date类型,

    Function类型,RegExp类型,单体内置对象(Global对象,Math对象)

1.Object类型:我们看到的大多数其他对象都可以称为是Object对象

  1)创建Object对象的方式有两种:
    第一种是使用new操作符后跟Object构造函数
      var person =new Object();   //var person ={};
      person.name="yufan";
      person.age=20;
    第二种是使用对象字面量表示法
      var person={
        name:‘yufan‘,
        age:20
      };

 2)访问对象的属性也有两种方法:
      alert(person[‘name‘]);
      alert(person.name);

2.Array类型:
  1)创建数组(Array对象)的基本方法有两种:
    --第一种是使用Array构造数组
      var arr=new Array(‘1‘,2,‘32‘,‘ab‘);
    --第二种是使用数组字面量表示法
      var arr=[‘1‘,2,‘32‘,‘ab‘];

2)数组的length属性,表示数组元素的个数
    对于length既可以获取,又可以设置
      var arr=[1,2,3,4,5,6]
      alert(arr.length);  //6
      arr.length=3;
      alert(arr);    //1,2,3

 3)检测数组:Array.isArray()==>确定某个值是不是数组
    --if(Array.isArray(value)){
        //对数组执行某些操作
    }
    注:支持Array.isArray()方法的浏览器有IE9+,Firefox 4+,Safari 5+,Opera 10.5+,Chrome

数组的方法:
  4)转换方法:对于所有的对象都具有toLocaleString(),toString(),valueOf()方法
    数组调用toString()方法:调用了数组每一项的toString()方法,返回数组每一项以逗号分割的字符串
    数组调用valueOf方法:返回的还是数组对象的原始值
      var arr=[1,2,‘abc‘];
      alert(arr.toString());  //1,2,abc
      alert(arr.valueOf());   //1,2,abc
      alert(typeof(arr.toString()));  //string
      alert(typeof(arr.valueOf()));   //object
      alert(arr); //1,2,abc  alert要接收字符串参数,所以它会在后台调用toString()方法,结果与toString()方法相同
    数组调用toLocaleString()方法(把数组转换为本地字符串):返回与toString(),valueOf()方法相同的值
    但其调用的是数组每一项的toLocaleString()方法,返回数组每一项以逗号分割的字符串
      var arr=[1,2,‘abc‘];
      alert(arr.toLocaleString());  //1,2,abc
      var person1={
        toLocaleString:function(){
          return ‘mike‘;
        },
        toString:function(){
          return ‘nine‘;
        }
      };
      var person2={
        toLocaleString:function(){
          teturn ‘hello‘;
        },
        toString:function(){
          return ‘word‘;
        }
      };
      var people=[person1,person2];
      alert(people);  //nine,word
      alert(people.toString());   //nine,word
      alert(people.toLocaleString()); //mike,hello

 5)数组的join方法:
      --用分隔符,组合数组元素,生成字符串
       arr.join(‘-‘)    //1-2-3-4-5-6

6)数组的添加:(栈方法)
      --arr.push(val)--往数组的末尾添加,返回新数组的长度
      --arr.unshift(val)--从数组的头部添加元素,返回新数组的长度

7)数组的删除:()
      --arr.pop()--从数组的末尾删除,返回删除的项
      --arr.shift()--从数组的头部删除元素,返回删除的项

8)数组的排序(sort):
      --arr.reverse()--颠倒数组中元素的顺序
      --字符串的排序:arr.sort()--sort()方法会调用每个数组项的toString方法,
        然后比较得到的字符串,因此不能对数字进行排序,但可以对字符串排序
          var arr=[‘zoom‘,‘banana‘,‘apple‘]
          arr.sort();  //apple,banana,zoom
      --数字的排序:sort()方法可以接受一个比较函数作为参数,进行数字的排序
        function compare(value1,value2){
          return value1-value2;
        }
        var arr=[5,1,24,12];
        arr.sort(compare);
        alert(arr);   //1,5,12,24

9)数组的splice方法:删除元素/删除并向数组添加新元素,返回新数组
      1)删除:splice(起点,长度)--起点从0开始
        var arr=[1,2,3,4,5,6];
        arr.splice(2,3) //1,2,6
        arr.splice(2,0)    //没有删除,长度为零
      2)插入:splice(起点,长度,元素)
        var arr=[1,2,3,4,5,6];
        splice(2,0,‘a‘,‘b‘) //1,2,a,b,3,4,5,6
        splice(2,2,‘a‘,‘b‘) //1,2,a,b,5,6

10)数组的连接(concat):谁在前面先写谁
        var a=[1,2,3]
        var b=[4,5,6]
        a.concat(b);  //1,2,3,4,5,6
        b.concat(a);  //4,5,6,1,2,3

11)数组的slice方法:从某个已有的数组返回选定的元素,形成新数组,且对原来的数组没有影响
      当slice有一个参数时:从指定位置-->数组结尾
      当slice有两个参数时:从开始指定位置-->到结束指定位置
      var colors=[‘red‘,‘blue‘,‘yellow‘,‘black‘,‘write‘];
      var colors1=colors.slice(1);  //‘blue‘,‘yellow‘,‘black‘,‘write‘
      var colors2=colors.slice(1,3);  //‘blue‘,‘yellow‘,‘black‘

12)位置方法:indexOf()/lastindexOf()
      都接受两个参数:‘要查找的项‘和(可选的)‘表示查找起点位置的索引‘
      indexOf:从数组的开头(位置0)往后查找
      lastindexOf():从数组的末尾开始往前查找
      两个方法都返回要查找的项在数组中的位置,没有查找到则返回-1
      var arr=[1,2,5,7,5,9];
      alert(arr.indexOf(5));  //2
      alert(arr.lastindexOf(5)); //4
    注:支持浏览器为:IE9+,Firefox 3+,Opera 9.5+,Chrome

 

时间: 2024-08-08 12:35:00

Object类型与Array类型的相关文章

JavaScript基础——引用类型(一)Object类型、Array类型

引用类型简介 引用类型的值(对象)是引用类型的一个实例.在ECMAScript中,引用类型是一种数据结构,用于将数据和功能组织在一起.它也常被称为类,但这种称呼并不妥当(虽然不妥当,在别人提起的时候,就是指ECMAScript中的引用类型,在一次面试的时候,有人就和面试官争论说"JS中没有'类'这个概念,结果可想而知--").尽管ECMAScript从技术上讲是一门面向对象的语言,但它不举杯传统的面向对象语言所支持的类和接口等基本结构.引用类型有时候也被称为对象定义,因为它们描述的是一

JavaScript的进阶之路(三)引用类型之Object类型和Array类型

引用类型 Object类型 function a(num){ if(num>3){ a(--num); } console.log(num); } a(5); //如何创建对象的实例 var obj1= new Object(); console.log(obj1); obj1.name="吴琼"; obj1.age=28; console.log(obj1.name+" "+obj1.age); //对象字面量语法 ,有点封装的感觉 var obj2 = {

引用类型--Object类型、Array类型

引用类型的值(对象)是引用类型的一个实例.在ECMAScript中,引用类型是一种数据结构,它描述的是一类对象具有的属性和方法. 对象是某个特定引用类型的实例,新对象是使用new操作符后跟一个构造函数来创建的. Object类型 大多数引用类型值都是Object类型的实例,Object是ECMAScript中使用最多的一个类型.Object的实例不具备多少功能,但对于在应用程序中存储和传输数据而言,是非常理想的选择. 创建Object实例的方式有两种: 第一种是使用new操作符后跟Object构

object类型转换为Array类型

var obj = {a: 1, b: 2, c: 3}; // .... var arr = []; for(var key in obj){ if(!obj.hasOwnProperty(key)){ continue; } var item = {}; item[key] = obj[key]; arr.push(item); } console.log(arr); // [{a: 1}, {b: 2}, {c: 3}] // 将Object的属性输出成Array function obj

引用类型-Array类型~ 前端学习之路

今天开始记录每天所学的重点,为了加深印象也为了今后的复习. 今天学习的重点是引用类型中Array类型,Array类型中的栈方法,队列方法,重排序方法,操作方法,位置方法,迭代方法,归并方法.这几个方法我感觉尤为重要,因此记录下来,以便忘记了可以回顾. (一)栈方法 首先要知道的是栈是一种后进先出的数据结构,也就是最先添加的项最先移除.在JS中提供有两种方法,push()和pop()方法是实现类似于栈的行为. push()方法可以接受任意数量的参数,并且把它们放在数组的末尾,最后返回修改后数组的长

理解javascript中的Array类型

引子: 从事前端开发有段时间了,个人观点:想在前端开发这条路上走的更远,不仅要学好HTML&HTML5.CSS&CSS3,最重要的就是要学好javascript了.所以打好javascript基础是非常有必要,今天就平时所用的javascript中的数组Array类型做个整理.本人前端初学者,如果以下内容对您有帮助的话本人也非常欣慰,如果写的不好,请提出您的见解,共享下您在学习js中的宝贵经验,谢谢! Array类型是js中非常常用的数据类型了,这里就不脑补了,至于什么是数组类型,请绕道w

JavaScript入门之数组:Array类型详解

数组应该是每个语言中都用得极度频繁的数据类型,JavaScript也不例外. 个人认为,Js中的Array类型非常强大. 首先没有C/C++等语言需要在数组初始化时指定数组长度(并不可变)的要求. 也不需要指定特定的基本数据类型(Number,String,Boolean,Null,Undefined,Object),也就意味着,一个数组中可以存多种数据类型的值. 我想总结一下Array的常用方法,在这之前,先介绍一下Array的基本用法: 基本用法: 1.创建数组: //创建空数组 var a

各种数值集合的类型(Array、ArrayList、Hashtable、List<T>)

主要有:1.数组array    2.ArrayList    3.HashTable     4.泛型集合List<T> 1.Array 数组的特点是存储的类型统一,长度固定. 在我们一开始声明数组的时候就得确定他的长度,堆内存就要分配相应大小的内存空间.所以比较静态,不灵活. 2.解决Array的缺点,出现了ArrayList类型 ArrayList的长度是动态变化的,随着我们Add的对象的增加,他的数量(Count)逐一增加,他的容量(Capacity)成倍(2的指数倍)的增加.同时他存

JS引用类型(2)——Array类型

[2]Array类型ECMAScript数组的每一项可以保存任何类型的数据,并且大小是可以动态调整的,即可以随着数据的添加自动增长以容纳新增数据. (1)创建数组 1>使用Array构造函数 var colors = new Array(); var colors = new Array(20); var colors = new Array("red","blue","green"); var colors = Array(3); var