数组:
    
    1.
    var arr=[1,2,3,4];

2.
    var arr=new Array(1,2,3,4,5);

区别:
        1.写法不一样,选择第一种(好写)
        2.选择第一种!

----------------------------------
关于数组方法:
    
1.push(要添加的值);往里添加一个!

var arr=[1,2,3,4]
    
arr.push(888);

默认是往后面添加一个!
--------------------------------------
2.unshift(要添加的值);默认往前面添加一个!

--------------------------------------
3.pop()--默认从后面删除一个!

--------------------------------------
4.shift()--默认从前面删除一个!
-------------------------------------

5.咱从中间添加或者删除,替换!

万能操作!

splice(,,,,)

删除:
    arr.splice(开始下标,删除个数);

var arr=[1,2,3,4,5,6,7];
    
    arr.splice(1,2);---1,4,5,6,7
    
    alert(arr);

添加:
    arr.splice(开始的下标,删除0个,要添加的项1,要添加的项2,....);

var arr=[1,2,3,4,5,6,7];
    
    arr.splice(2,0,'a','b','c');
    
    alert(arr);

--------------------------------------------
替换:
    删除几个,就添加几个!!!

var arr=[1,2,3,4,5,6,7];
    
    arr.splice(2,3,'a','b','c');
    
    alert(arr);

-----------------------------

模拟push

var arr=[1,2,5,6,7];
    
    arr.splice(arr.length,0,8);
    
    alert(arr);

pop

var arr=[1,2,5,6,7,8,9];
    
    arr.splice(arr.length-1,1);
    
    alert(arr);

==================================================
6.
var str='welcome to beijing'
str.split(' ');----['welcome','to','beijing'];

join:拼接  得到字符串!

var arr=['welcome','to','beijing'];
arr.join(' ');----'welcome to beijing';

==============================================

题:
var str='welcome to beijing';

--》'Welcome To Beijing';

思考步骤:
    1.str切分一下

var arr=str.split(' ');
    ['welcome','to','beijing']

2.循环得到每个的大写字母
    for(i=0;i<arr.length;i++){
        var n=arr[i].charAt(0).toUpperCase();
        alert(n);--w  t  b
    }

3.循环得到每个没有手写字母的字符串!
    elcome  o  eijing

===========================================

7.数组链接

var arr=[1,2,4];
var arr1=[6,7,8];
    
alert(arr.concat(arr1));

链接多个
var arr=[1,2,4];
    var arr1=[6,7,8];
    var arr2=[56,57,58];
    
    alert(arr.concat(arr1,arr2));
--------------------------------------------

8.数组的翻转arr.reverse()

var arr=[1,2,3,4,5];

--5,4,3,2,1

var arr=[1,2,3,4,5];
    
    alert(arr.reverse());

------------------------------------------
9.排序:
    
var arr=['banana','apple','color','width'];

arr.sort();

alert(arr);
    
注意:它是按照字典序来排序(小到大)

----------------------------------
var arr=[123,4,56,88,34,0,-56];

var arr=[123,4,56,88,34,0,-56];

arr.sort();
    
    alert(arr);

也是呢按照字典序排序!

目的:
    ----按照数字大小排序
var arr=[123,4,56,88,34,0,-56];

arr.sort(function(n1,n2){
        return n1-n2;
    });
    
    alert(arr);

注意:n1-n2  小到大
      n2-n1  大到小
==================================================

特性:
    
    arr.length可以赋值!

清空数组:
        1.arr.length=0;
        2.arr=[];
        3.arr.splice(0,arr.length)
        4.while(arr.length){
            arr.pop();
        }

***字符串的length不能赋值!!!!
--------------------------------------------------

json

写法:
    var json={name:value,name1:value1,....}

json.name

json和数组的区别:

json:
    1.无序
    2.没有length;
    3.下标字符串
    4.for in
    5.添加一项json.youbian='000000';
    6.删除
数组:
    1.有序
    2.有length
    3.下标数字
    4.普通for循环
    5.添加方式arr.push
    6.删除

json循环:

var json={age:15,name:'张三',adrs:'北京'};
    
    for(var name in json){
        alert(json[name]);    
    }

注意:
    1.虽然for in循环数组可以用,但是for in 性能没有普通for循环好!所以说平时用普通for,不到万不得已不用for in!  遇到json就是万不得已!必须用for in!

2.alert(json)--alert不足以把json打印出来,它只是弹出json类型!

json专用打印方法:console.log(json);
-------------
============================================

设置样式:
    
    1.行间样式
        obj.style.width="100px"

oBox.style.cssText='width:100px;height:100px;background:red;';

2.className
    3.json

==================================================

1.实参数组arguments

function show(){
        var res=0;
        
        for(var i=0;i<arguments.length;i++){
            res+=arguments[i];    
        }    
        alert(res);
        
        //var arguments=[1,2,3,4,5]
    }
    show(1,2,3,4,5);//实际运用的参数:实

================================================
获取元素方式:
    
    1.id--获取一个
    2.标签名(tagname)---获取一组

3.class名(className)---获取一组

var str='redvfrvervbr'

str.indexOf(d)!=-1

前端学习(十七)js数组(笔记)的更多相关文章

  1. 前端学习之——js解析json数组

    ** 前端学习之——js解析json数组** 解析json数组即对JSONArray的遍历 一.对于标准的json数组如: var result=[{"flag":1," ...

  2. 前端学习:JS面向对象知识学习(图解)

    前端学习:JS面向对象知识学习(图解) 前端学习:JS(面向对象)代码笔记 JS面向对象图解知识全览 创建类和对象 方式1:使用Object()函数 方式2:使用自变量 方式3:使用工厂函数 创建多个 ...

  3. 前端学习:JS学习总结(图解)

    前端学习:JS学习总结(图解) JS的代码笔记 JS比HTML和CSS的知识点要多的多,下面分几段来介绍其内容... 为了能让大家更好的检索,前面的图解是整个JS的概括,后面的才是知识点... 旁边就 ...

  4. 前端学习历程--js事件监听

    一.事件监听使用场景 1.事件触发多个方法的时候,后一个方法会把前一个方法覆盖掉. window.onload = function(){  var btn = document.getElement ...

  5. 前端学习:JS(面向对象)代码笔记

    前端学习:JS(面向对象)代码笔记 前端学习:JS面向对象知识学习(图解) 创建类和对象 创建对象方式1调用Object函数 <body> </body> <script ...

  6. 前端学习:学习笔记(JS部分)

    前端学习:学习笔记(JS部分) 前端学习:JS学习总结(图解)    JS的简介 JS基本语法 JS内置对象 JS的函数 JS的事件 JS的BOM JS的DOM JS的简介 新建步骤 <body ...

  7. [学习笔记]JS 数组Array push相关问题

    前言: 今天用写了一个二维数组,都赋值为零,然后更新其中一个值,结果和预期是不一样,会整列的相同位置都是同一个值. 1.用Chrome的控制台样例如下: arrs[2][2] =1的赋值,竟然是三个数 ...

  8. 值得H5前端学习的60个JS插件(含DEMO演示)

    下面也可以说是H5前端学习的js插件大全.基本包含了大部分的前端最前沿的js插件和库. 布局 SuperEmbed.js- 是一个Javascript库,可检测出网页上的内嵌视频并使他们能够变成响应式 ...

  9. 前端学习数据库MYSQL

    这篇文章主要写了 1.数据库MYSQL 2.基本上会遇到的所有SQL语句 数据库可视化软件------Navicat 数据库里边存放的是表,表与表之间是有关联的,而且可以对表进行相关操作(增,删,改, ...

随机推荐

  1. 力扣 -- 寻找两个有序数组的中位数 Median of Two Sorted Arrays python实现

    题目描述: 中文: 给定两个大小为 m 和 n 的有序数组 nums1 和 nums2. 请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n)). 你可以假设 nums ...

  2. 【串线篇】SpringMvc数据传出

    /** * SpringMVC除过在方法上传入原生的request和session外还能怎么样把数据带给页面 *  * 四大域: *  pageContext:${pageScope.msg }< ...

  3. webpack 学习2 入口(entry)和输入管理(output)

    在开始上代码之前,先让我们盘一盘什么是webpack中的入口和输入 入口 假设你现在手里有一个水龙头,然后十个人用水管从你这里拿水.你这个龙头就是水的入口,水管就是你和这些人的依赖联系.现在供水局的要 ...

  4. 每天一个linux命令:mv(7)

    mv mv命令可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录. 在跨文件系统移动文件时,mv先拷贝,再将原有文件删除, ...

  5. Linux下github的使用

    在linux下搭建git环境 1.创建Github账号,https://github.com 2.Linux创建SSH密钥: ssh-keygen ##一直默认就可以了 3.将公钥加入到Github账 ...

  6. horizontalAccuracy 检测定位成功

    - (void)findCurrentLocation { self.isFirstUpdate = YES; [self.locationManager startUpdatingLocation] ...

  7. css 导航菜单+下拉菜单

    一.导航菜单 1.横向导航 代码如下: <!doctype html> <html> <head> <meta charset="utf-8&quo ...

  8. css3动画的性能优化

    目前对提升移动端CSS3动画体验的主要方法有几点:尽可能多的利用硬件能力,如使用3D变形来开启GPU加速 -webkit-transform: translate3d(0, 0, 0); -moz-t ...

  9. 自己写一个 wsgi 服务器运行 Django 、Tornado 等框架应用

    https://blog.csdn.net/heybob/article/details/52288006

  10. Anaconda详细安装及使用教程(带图文)

    https://blog.csdn.net/ITLearnHall/article/details/81708148