zoukankan      html  css  js  c++  java
  • 数组Array基础知识

    数组

    数组的概念

    • 数组是值的有序集合
    • 数组中的每个值 称之为 元素
    • 每个元素可以是任意数据类型的值
    • 每个元素都有索引(下标)
    • 元素的索引从0开始,按照顺序递增。 元素最大的索引 2^32-2

    创建数组

    • 直接量 []

        var arr=[];
        var arr=["string",234,true,function(){},demo,demo(),brr[]];
        数组的元素可以是任意类型
      
    • 构造函方式 new Array() 也可以省略new

         var arr=new Array();
        var arr=new Array(5);长度为5;
        var arr=new Array(1,3,"hello"); 直接传参
      

    读写数组中的元素

    • 数组名[索引]

    稀疏数组

    • js数组的索引是连续的
    • 没有连续的给元素赋值 , 没有赋值的元素会自动赋值 undefined

    添加和删除 数组的元素

    • 添加数组元素

      • 指定索引来添加元素
      • 把数组长度当做新元素的索引 arr[arr.length] = value
      • 在数组的最后添加元素 push() arr.push()
      • 在数组的前面添加元素 unshift() arr.unshift()
      • 在数数组的任意位置添加元素 splice(index, 0, value)
    • 删除数组的元素

      • 改变数组的length属性 arr.length -= 1; arr.length -= 2
      • 删除最后面的一个元素 pop()
      • 删除数组的第一个元素 shift()
      • 删除指定位置的指定个数的元素 splice(index, length)
      • delete arr[2];删除元素(位置还在),使其变成undefined;

    数组遍历

    • for 循环

    • for in

        for(var i in arr){
        	console.log(arr[i]);
        }
      

    多维数组

    数组的方法

    • join([间隔符号]) 把数组的每个元素拼接成一个字符串 返回字符串
    • slice(start, end) 截取数组中的一部分, 返回一个新数组
    • concat(arr, arr....) 合并数组. 返回一个新数组
    • toString() 把数组转换为字符串
    • reverse() 翻转数组 副作用
    • sort() 排序 副作用
    • push() pop() 副作用
    • shift() unshift() 副作用

    类数组对象

    • arguments

    • Elementcollection 元素的集合

         document.getELementsByTagName()
         element.getElementsByTagName()
      

    作为数组的字符串

    • 字符串具有部分数组特性
    • 字符串也有length属性 获取字符串的长度
    • 也可以通过[索引值] 取出字符串中的一个字符

    稀疏数组变为不稀疏

    法一:
    <script>
    	function xiShu(a){
    		var brr=[];
    		console.log(arr);
    		for(var i=0;i<arr.length;i++){
    			if(arr[i]!=undefined){
    				brr[brr.length]=arr[i];	
    			}
    		}
    		console.log(brr);
    	}
    		xiShu(arr=[0,1,2, ,4,5, , ,8]);
    </script>
    
    法二:
    
    <script>
    	console.log("");
    	function xiShu(a){	
    		console.log(arr);
    		for(var i=0;i<arr.length;i++){
    			if(arr[i]==undefined){
    				// brr[brr.length]=arr[i];	
    				arr.splice(i,1);
    				i--;
    			}
    		}
    		console.log(arr);
    	}
    	xiShu(arr=[0,1,2, ,4,5, , , ,8]);
    </script>
    

    数组去重

    	<script>
    	function quChong(arr){
    		var arr;		
    		for(var i=0;i<arr.length;i++){
    			for(var j=i+1;j<arr.length;j++){
    				if(arr[i]==arr[j]){
    					console.log("重复的数:"+arr[j]+ "它的位置:"+j);
    					i--;
    					//删除重复的数
    					arr.splice(j,1);			
    					//输出删除重复的数之后的数组
    					// console.log(brr);
    				}				
    			}
    		}
    		console.log(arr);
    	}
    	quChong(arr=[1,1,3,5,6,43,45,6,"nihao","pwl",7,6,7,45,45,45,"lw"]);
    </script>
  • 相关阅读:
    LeetCode OJ-- 二战 Palindrome Number
    Cracking-- 17.13 将二叉树转换成双向链表
    Cracking-- 4.7 在一颗二叉树中找两个节点的第一个共同祖先
    priority_queue 示例
    heap c++ 操作 大顶堆、小顶堆
    【转】当你在浏览器地址栏输入一个URL后回车,将会发生的事情?
    Cracking-- 1.1 判断字符串中是否有重复字符
    如何取得SharePoint Timer Job的历史成功数和失败数,并按照日期计算排列
    SharePoint document 右键菜单和【...】菜单不一致的解决办法
    SharePoint Search 分词(WordBreaker)
  • 原文地址:https://www.cnblogs.com/pangwl/p/7401154.html
Copyright © 2011-2022 走看看