`

javaScript之数组

阅读更多
//测试Chrome版本  40.0.2214.115 m

//如有问题,欢迎指出
//=====数组的声明方式 有两种
//对数组的一些常用方法进行深入
//var arr1=new Array[3];//数组的长度 //这是错误的
var arr1=new Array(3);
var arr2=new Array(3,2,3,5);
var arr3=new Array([1,2,3,4],[1,2,3],[1,2]);
//字面量
var arr4=[[2,3],[2],[0]];
//console.info(arr1);
//console.info(arr2);
//console.info(arr3);
//console.info(arr4);
//-----------------------------------------------
//========数组有两种方法遍历
//第一种
for(var i=0;i<arr2.length;i++){
	console.info(arr2[i]);
}
//第二种
for(var i in arr3){
	console.info(arr3[i]);
}

//=========操作数组的一些方法
//按栈和队列来
//第一种出入栈
arr3.push(44);//在数组的最后添加一个
console.info(arr3);//[Array[4], Array[3], Array[2], 44]
console.info(arr3.pop());//弹出最后一个元素,并且返回其值
//队列
//先进
arr3.unshift(33);
console.info(arr3);
console.info(arr3.shift());//弹出头部元素,返回删除的值 
console.info(arr3);

//将数组合并   //算是向一个数组中添加一个数组的元素
//注意一个问题就是它不会改变数组现有的值,只是返回一个副本
console.info(arr1.concat(arr2));//这显示数组长度虽为7,里面元素只是arr2中的元素
//console.info(arr1);
document.write(arr2.concat(arr2));
console.info(arr3.concat(arr1,arr2));
console.info(arr3);//只是返回副本

//=====将数组转化为字符串,再将字符串转化为数组
var str1=arr2.join(",");//转化
console.info(str1);   
console.info(str1.split(",")); //  再转化   //此时数组里面的数字为字符串类型

//转化为字符串的还有其它的方法,如
var str33=[1,1,1,1,1];//还有toLocalString就不说了,我基本上是没用过
console.info(str33.toString());

//===对数组进行排序
//注意一个问题
//1默认是按字符串排序  (可添加方法参数来改变)
//降序来一个
console.info(arr2.sort(function(val1,val2){
	if(val1>val2){
		return -1;//如果大于不改变顺序
	}else {
		return 1;//否则
	}
}));

//另一个就是翻转数组了,感觉没什么用
console.info(arr2.reverse());

//对数组进行截取 splice 与slice
var arr5=[1,2,3,4,5,6,7,8,9];
console.info(arr5.slice());//返回原数组
console.info(arr5.slice(-2,9))//[8, 9]
//对于一个函数 //在jQuery中经常有这样类似的用法
var slice=[].slice;
function aa(){
	console.info(arguments);
	console.info(slice.call(arguments,1));
}
aa("sfsd","fs","fdsa");

//对于这splice参数不同作用不同
//第一种两个参数时
//第一个参数是要删除的起始下标
//第二个参数是要删除的项数
var arr6=[1,2,3,4,5,6,7,8,9];
console.info(arr6.splice(2,2));//删除的是 0: 3 1: 4
console.info(arr6);
//当是三个参数时,就是下面这种情况
//第一个参数是起始下标
//第二个参数是删除的项数
//第三个参数是插入的项数 形如:item1,item2...

//总结过来就是,第二个参数为0时就是插入了,有第二个项就是先删,再插
console.info(arr6.splice(2,0,3,4));//[]无返回值
console.info(arr6);//[1, 2, 3, 4, 5, 6, 7, 8, 9]

//再者就是新添加的数组方法了
//对比jQuery做个比较
//第一个indexOf 和lastIndexOf
//第一个参数要找的项,第二个参数是从哪里找,用法简单,实现原理也是简单
console.info(arr6.indexOf(7,5));//返回6 //这是下标
//方法一出来的时候ie是不支持的那么就是这种兼容处理了
//下面方法只是随便写,没有运行测试
if(typeof(Array.prototype.indexOf)!=="function"){
	Array.prototype.indexOf=function(){
		var 
			value=arguments[0];
			i=arguments[1] || 0;
			for(;i<this.length;i++){
				if(value===this[i]){
					return i;
				}else if(i==this.length-1){
					return -1;
				}
			}
		
	}
}

//主要关注这些方法 forEach,map ,some,every,filter
//此处涉及回调函数的应用
//上述方法也很有可能涉及兼容问题
//forEach(arr6,console.info);
//拿forEach与some做个例子
var each=function(obj,callback){
	var 
		value,
		length=obj.length,
		i=0;
		for(;i<length;i++){
			//若是返回false,则直接跳出
			value=callback.call(obj,i,obj[i]);
			if(value===false){
				break;
			}
		}
		
	return obj;
};


console.info(each(arr6,function(_,value){
	alert(value);
}));

//实现some
//只要数组有一个符合,立刻跳出,并显示跳出时的值
//直接使用上面的方法就可以得到想要的
console.info(each(arr6,function(_,value){
	if(value>5){
		alert(value);
		return false;
	}
}));

//到此结束

 

分享到:
评论

相关推荐

    JavaScript splice 数组操作(删除,插入)

    JavaScript splice 数组操作(删除,插入)JavaScript splice 数组操作(删除,插入)JavaScript splice 数组操作(删除,插入)JavaScript splice 数组操作(删除,插入)JavaScript splice 数组操作(删除,插入)...

    JavaScript数组(源代码)

    JavaScript数组(源代码)JavaScript数组(源代码)JavaScript数组(源代码)JavaScript数组(源代码)JavaScript数组(源代码)JavaScript数组(源代码)JavaScript数组(源代码)JavaScript数组(源代码)...

    javascript中数组、对象

    JavaScript数组支持多种操作方法,如`push`(在末尾添加元素)、`pop`(移除并返回末尾元素)、`shift`(移除并返回首位元素)、`unshift`(在首位添加元素)、`slice`(截取子数组)、`splice`(插入、删除或替换...

    JavaScript如何删除数组元素!

    在JavaScript中,数组是一种常用的数据结构,用于存储一系列的值。有时我们可能需要根据特定条件或索引从数组中删除元素。本篇文章将详细介绍几种在JavaScript中删除数组元素的方法,帮助开发者更好地理解和应用这些...

    第6节 JavaScript数组及应用.rar

    第6节 JavaScript数组及应用.rar第6节 JavaScript数组及应用.rar第6节 JavaScript数组及应用.rar第6节 JavaScript数组及应用.rar第6节 JavaScript数组及应用.rar第6节 JavaScript数组及应用.rar第6节 JavaScript数组...

    Javascript数组及其操作

    Javascript 数组及其操作 Javascript 数组是一种基本的数据结构,用于存储和操作多个值。数组是一种复杂的数据类型,可以存储不同的数据类型,如数字、字符串、对象等。 创建数组 在 Javascript 中,可以使用三种...

    JavaScript Array数组去重源码下载

    JavaScript Array数组去重源码下载

    JavaScript数组用法详解

    "JavaScript数组用法详解" JavaScript 数组是一种非常重要的数据结构,它是一种可以存储多个元素的集合。 JavaScript 数组的元素可以是任何类型,包括数字、字符串、对象、函数等。数组的长度可以动态地变化,可以...

    使用JavaScript数组模拟Java的Hashtable集合

    于是,本人使用JavaScript的数组模拟Hashtable集合,说明JavaScript数组的特别之外。 环境:Windows XP Professional, IE 6.0 阅读对象:所有学习JavaScript的学员。 注:本示例代码注释非常详细,请仔细阅读体会...

    JavaScript之数组扁平化详解

    在学习JavaScript编程过程中,数组扁平化是一个非常实用的技术点,它可以帮助我们处理嵌套数组的问题。数组扁平化指的是将一个多层数组结构转换成一个单层数组,也就是把内层数组的元素转移到最外层数组中。例如,将...

    第11节 JavaScript数组常用方法及应用.rar

    第11节 JavaScript数组常用方法及应用.rar第11节 JavaScript数组常用方法及应用.rar第11节 JavaScript数组常用方法及应用.rar第11节 JavaScript数组常用方法及应用.rar第11节 JavaScript数组常用方法及应用.rar第11...

    模块化的JavaScript多维数组

    模块化的JavaScript多维数组

    Javascript实现数组中的元素上下移动

    我们交换数组可以实现元素上下移动了,这个效果我们在表格或以前排序算法中都会用到,下面来看一个JavaScript下实现交换数组元素上下移动例子 在写项目的时候,要实现一个数组记录上下移动的示例。写起来也没有没...

    javascript循环数组有什么方法_javascript循环数组有哪些方法.docx

    ### JavaScript 循环数组的方法详解 #### 一、基本循环遍历数组 **问题描述**:需要简单有效地访问数组中的所有元素。 **解决方案**:使用 `for` 循环是最常见的遍历数组的方式。数组的索引从0开始,通过 `length`...

    JavaScript中数组常见操作技巧

    ### JavaScript中数组常见操作技巧 #### 数组的创建与初始化 在JavaScript中,创建数组通常使用数组字面量 `[]`。这与使用 `new Array()` 不同,因为后者在某些情况下用于创建指定长度的数组,而数组字面量则更加...

    js 实现 JavaScript遍历数组

    js 实现 JavaScript遍历数组! 值得下载看看!资源免费,大家分享!!

    javascript中的数组对象以及json学习笔记

    在JavaScript中,数组对象和JSON(JavaScript Object Notation)是两种非常重要的数据结构,它们在处理和存储数据方面起着核心作用。这篇学习笔记将深入探讨这两种数据结构的特性和用法。 首先,我们来了解...

    JavaScript 数组 增加 和 删除

    ### JavaScript 数组增加和删除方法详解 在JavaScript中,数组是一...这些方法不仅增强了JavaScript数组的功能,还提高了代码的可读性和维护性。在实际开发中,根据具体需求选择合适的方法可以使程序更加高效、简洁。

    JavaScript原生数组函数探索WORD版

    资源名称:JavaScript原生数组函数探索 WORD版内容简介:本文档主要讲述的是Javascript原生数组函数探索;在Javascript中,可以通过两种方式创建数组,构造函数和数组直接量, 其中后者为首选方法。希望...

    JavaScript:数组与字符串操作教程

    ### JavaScript:数组与字符串操作教程 #### 一、变量与数据类型 在JavaScript中,变量是...通过具体示例,加深了对JavaScript数组和字符串处理的理解。掌握了这些基本知识后,可以更灵活地处理实际项目中的数据。

Global site tag (gtag.js) - Google Analytics