`
步青龙
  • 浏览: 299017 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
博客专栏
72ba33fb-eefe-3de1-bd65-82a6e579265d
Java面试
浏览量:0
社区版块
存档分类
最新评论

Javascript Array的一些用法

 
阅读更多

 

<SCRIPT LANGUAGE="JavaScript">
	// 转换方法,一般情况下toString valueOf,toLocaleString返回的值是一样的
	var student = ["小明","小华","小伟"];
	document.write(student.toString()+"</br>");
	document.write(student.valueOf()+"</br>");
	document.write(student.toLocaleString()+"</br>");
	// 如果自定义了toLocaleString的话,返回值可以是不同的,toLocaleString不会调用toString的方法
	var student1 = {
		toLocaleString:function(){
			return "S1的 toLocaleString 自定义方法";
		},
		toString:function(){
			return "Student1";			
		} 
	}
	var student2 = {
		toLocaleString:function(){
			return "S2 的 toLocaleString 自定义方法";
		},
		toString:function(){
			return "Student2";			
		}
	}
	//做下对比
	var students = [student1,student2];
	document.write("---------------------------</br>");
	document.write(students.toString()+"</br>");
	document.write(students.valueOf()+"</br>");
	document.write(students.toLocaleString()+"</br>");

    // join方法,join用特定的分隔符返回数组的字符串
	document.write("JOIN: "+students.join("--")+"</br>");
	// 如果数组最后一项为null或者undefined,最后一项为空字符串
	// 如students = [student1,student2,null]; 
	// 如students = [student1,student2,undefined];
	// join 默认调用toString,如果数组中的项没有toString方法,toString,valueOf,则返回[object Object]字符串,测试可以把student1的toString删除掉,调用下面y一行代码	
	// document.write("JOIN: "+  students[0].toString()+"</br>");


	// 栈方法
	students.push(student1,student2);// 再次向里面添加student1,student2
	var student3 = {
		toString:function(){
			return "我是学生3号";
		}
	}
	var count = students.push(student3);
	document.write("学校的学生数量为:"+count+" </br>");
	students[students.length]=student3;//students.push(student3);都是插入到尾部,只是push返回当期数组的大小,students[students.length]=student3超范围访问自动扩充数组的大小。students.length只比数组的最大索引值大1,所以数组新增一个
	document.write("学校的学生数量为:"+students.length+" </br>");
	// 栈方法主要是push(),pop()方法, push()将对象推入到数组的尾部,并返回插入后的数组大小。
	var item = students.pop();
	document.write("POP() 移除最后一项并返回的最后一项的值为: "+item.toString()+"</br>");
	// 从这里看出POP()方法,删除了最后一项,并返回了移除的项,所以数组还剩下四项元素
	document.write("数组students现在为: "+students.toString()+"</br>");
	// push和pop 的操作可以看出是后进先出,就像一个有底的筒,向里面倒沙子(后进),向外面到沙子(后面进的先倒出来),所以是后进先出,简称last in first out (LIFO)的一种数据结构。栈中项的插入又叫做"推入",移除又叫做弹出。
	
	// 队列方法
	var personX = {
		toString:function(){
			return "我是学生X";
		}
	}
	var snum = students.unshift(personX);// 推入到数组的第一项
	document.write( "学生数量为"+ snum+"</br>"); 
	// unshift 会有一个返回数值,但是在IE中却返回undefined,其他浏览器返回数值.
	var teItem = students.shift();// 获取数组的第一项
	document.write("shift方法 返回"+teItem+"</br>");
	document.write("students 为"+students.toString()+"</br>");
	// shift 返回了第一项,移除了第一项。
	// 队列是一种后进先出的数据结构,first in first out(FIFO),这有点像是产品线,产品一条线的排队过来(unshift),不合格的就拿掉(shift),合格的就保留. 排队有两种一种是直排,进来一个排一个push(),另外一种是特殊的插队unshift(),他永远插在第一个位置。shift总是从最前面移除项。

	// 排序
	// 最常规的翻转
	var values = [0,1,5,10,15];
	values.reverse();
	document.write("reverse后:"+values+"</br>");
	values.sort();
	document.write("sort后: "+values+"</br>");
	values.sort(upCompare);
	document.write("sort参数的升序排序为: "+values+"</br>");
	values.sort(downCompare);
	document.write("sort参数的降序排序为: "+values+"</br>");
	// 结果看到sort排序非常混乱,但是sort可以接收到一个排序参数
	// 升序函数
	function upCompare(values1,values2){
		return values1-values2;
	}
	// 降序函数
	function downCompare(values1,values2){
		return values2-values1;
	}

	// concat用法  12 12 3
	var tempStudents = students.concat();
	// 这里可以看出concat 只是创建了当前数组的一个副本 并返回副本。
	document.write("tempStudents"+ tempStudents+"</br>");
	students = students.concat("学生concat字符串");
	document.write("concat(obj,[toarray])后的数组为: "+students+"</br>");

	var teac = ['teac1','teac2','teac3'];
	var teac2 = teac.concat('teac4',['teac5','teac6']);
	// concat方法接受了两个参数obj和array 可以认为数组先push下obj,然后pushobj中的各个元素。
	document.write(teac2.toString()+"</br>");

	// slice方法
	var teac3 = teac2.slice(1);
	// slice 基于数组创建一个新数组 一个参数从索引处到尾部的所有元素的新数组
	document.write(teac3.toString()+"</br>");
	var teac4 = teac2.slice(1,4);// 取出从第一个到第四个之间的数组(不包含第四个),非索引,这个值比索引大1 
	document.write(teac4.toString()+"</br>");// 
	
	// splice 方法用法 异常强大的方法,大约有三种行为 删除 插入 替换
	var colors = ["col1","col2","red","yellow","green","white","black"];
	var removed  = colors.splice(0,2);
	/*
	对于2个的参数
	第一个参数要删除的的索引位置,第二个参数是要删除的元素个数(索引位置后的元素),如果第二个参数为0,第三个参数没有的话 相当于创建了副本。splice返回了移除的元素。
	*/
	document.write("2个参数的splice返回值为:"+removed+"</br>");
	// 
	document.write(colors+"</br>");

	removed = colors.splice(2,0,"insettColor1","insertColor2");
	/* 对于三个以上的参数
	  第一个参数插入到的索引位置,
	  第二个是索引位置后替换的元素个数
	  第三个以后的参数是要插入的项,可以使一个或者多个 替换 新增 都可以用splice 三个以上的参数(新增的第二个参数为0),而删除用两个参数
	*/ 
	document.write("3个参数的splice返回值为:"+removed+"</br>");
	// 这里第二个参数为0,即删除索引为2后面元素个数为0,没有得到移除项,返回空字符串
	document.write(colors+"</br>");


</SCRIPT>
 

 

 

 

分享到:
评论

相关推荐

    Javascript实现Array和String互转换的方法

    本文将详细介绍如何使用JavaScript内置方法来实现数组与字符串之间的转换,其中涉及到了两个重要的字符串处理方法:toString方法和split方法。 首先,Array转为String。在JavaScript中,数组对象的toString方法可以...

    JavaScript实现Array(数组)和Map

    `array.js` 文件可能包含了对数组操作的一些自定义函数或者扩展,例如可能实现了数组去重、查找指定元素的索引、排序等功能。这些功能可以通过阅读源码来了解其具体的实现方式和用途。 接着,Map是ES6中新增的一种...

    浅谈JavaScript Array对象

    在本篇文章中,我们主要探讨了JavaScript中的Array对象,包括其定义、属性、以及常用的实例方法。 首先,我们需要了解JavaScript中数组的基本概念。JavaScript数组是一种值的有序集合,其中的值被称为元素。每个...

    javascript object array方法使用详解.docx

    ### JavaScript Object Array 方法使用详解 #### 一、引言 在JavaScript开发中,数组(Array)是一类极为常用的数据结构,提供了丰富的内置方法来帮助开发者高效地操作数据。本文将详细介绍Array原型上的方法,并...

    Javascript Array 对象方法使用.md

    javascript 数组中,filter和map使用方法和案例小结。介绍了filter和map的基本使用,语法,使用案例,场景案例及一些注意点

    javascript array tutorial

    本文将详细介绍JavaScript数组的基本功能及其一些有用的扩展用法。 #### 数组的概念 数组本质上是一系列变量的有序集合。通过使用数组,可以替代传统的声明多个单独变量的方式,使得代码更加简洁易读。例如: ```...

    Javascript中Array用法实例分析

    本文实例讲述了Javascript中Array用法。分享给大家供大家参考。具体分析如下: JavaScript中的Array对象就是数组,首先是一个动态数组,而且是一个像C#、Java中“数组、List、HashMap/Dictionary”等的超强综合体。 ...

    javaScript array(数组)使用字符串作为数组下标的方法

    总的来说,JavaScript数组使用字符串作为下标提供了一种灵活的数据存储方式,但也可能带来一些潜在的问题,比如遍历顺序不确定、可能包含原型链上的属性等。在实际开发中,应根据具体需求选择合适的数据结构和遍历...

    文科计算机JAVASCRIPT语言“array”的用法.pdf

    总之,JavaScript的数组是处理和组织数据的强大工具,无论是存储简单数据还是复杂对象,都能提供高效的方法。理解数组的定义、初始化、索引以及`length`属性的用法,是掌握JavaScript编程的基础。在文科计算机的学习...

    Javascript中关于Cookie存储Array集合

    JavaScript提供了`JSON.stringify()`方法,可以将JavaScript值(包括Array)转换为JSON字符串。例如: ```javascript let array = [1, 2, 3, "four"]; let jsonString = JSON.stringify(array); ``` 2. 设置...

    JavaScript 实现Array(数组)和Map

    Map的一些主要方法包括set、get、has、delete、clear等。在`map.js`文件中,可能会有对Map的实现或扩展,比如添加一个`forEach`方法遍历Map的所有键值对,或者一个`size`属性获取Map中的元素数量。 `object.js`文件...

    JavaScript 中的 `Array.prototype.filter` 方法全解析

    本文将深入探讨 Array.prototype.filter 方法的工作原理、使用场景、代码示例以及与其他数组方法的比较。 Array.prototype.filter 是 JavaScript 中处理数组的强大工具,它允许开发者以声明式的方式轻松筛选出符合...

    JavaScript Array对象使用方法解析

    JavaScript中的Array对象是...以上是JavaScript中Array对象的基础知识和一些常用方法的介绍。熟练掌握这些方法,能够帮助我们更加高效地处理数组数据。在实际开发中,合理地运用这些方法能够使代码更加简洁和易于维护。

    javascript稀疏数组(sparse array)和密集数组用法分析.docx

    ### JavaScript稀疏数组(Sparse Array)与密集数组(Dense Array)用法分析 #### 一、简介 在JavaScript中,数组是一种特殊类型的数据结构,它既不是传统意义上的密集型数组(每个索引都被占用),也不是完全自由的...

    JavaScript数组对象Array案例.pdf

    本文将深入探讨JavaScript数组对象Array的一些关键知识点,并通过提供的案例进行解析。 首先,数组的创建有多种方式。最常见的是使用`new Array()`构造函数,如`var arr = new Array(1, 2, 3, 4, 5, 6)`,这会创建...

    JavaScript中Array对象用法实例总结

    本文实例讲述了JavaScript中Array对象用法。分享给大家供大家参考,具体如下: Array数组对象有很多常用的方法和属性,现总结如下: 1. length属性,获取数组中元素的个数。 2. concat()方法,连接两个数组。将两个...

    JavaScript中Array方法你该知道的正确打开方法

    于是我写了这篇文章,总结了如何在 JavaScript 中正确使用地使用 Array 的方法! Array对象为JavaScript内置对象,具有以下属性: 属性 描述 constructor 返回对创建此对象的数组函数的引用。 length 返回...

    JavaScript-Array类型全面解析_.docx

    - **使用 `Array.isArray()` 方法**:这是 ECMAScript 5 引入的一个方法,用于判断一个变量是否是数组。 ```javascript if (Array.isArray(value)) { // 对数组执行某些操作 } ``` #### 六、转换方法 - **`...

    JavaScript数组用法详解

    JavaScript 数组有多种创建方式,包括使用 Array() 构造函数、数组直接量、JSON 等方式。使用 Array() 构造函数可以创建一个空数组、带有初始元素的数组、指定长度的数组等。数组直接量是一种简洁的创建数组的方式...

    JavaScript数组对象Array.pdf

    例如,你可以通过`Array.prototype`自定义一个方法,使得所有的数组实例都能使用这个新方法。以下是一个示例,定义了一个名为`outAll`的方法,用于显示数组的所有元素: ```javascript Array.prototype.outAll = ...

Global site tag (gtag.js) - Google Analytics