当前位置: 首页 > news >正文

关于数组添加值和访问值的一些小问题

今天来看看关于数组方面的一些小问题,可能对你会有一些小小的帮助,当然如果我有说错的地方也欢迎指教,毕竟我也是一个菜鸟。

 1.

1 // var arr = [1,2,3];
2 // arr["bbb"]="nor 1";
3 // arr[-2]="nor 2";
4 // console.log(arr);    >> [1, 2, 3, bbb: "nor 1", -2: "nor 2"]
5 // console.log(arr.bbb)    >>    "nor 1"

 

如果我们想往数组里面添加一个值,以[]的形式添加,如果写的是负数或者字符串那么它是在数组的末尾添加,并且它是以键值对的形式添加的,所以下次访问这个值的时候可以使用点的形式访问,但是如果是数字必须通过[]访问。

2.

1 // var arr = [1,2,3];
2 // arr["bbb"]="nor 1";
3 // console.log(arr);    [1, 2, 3, bbb: "nor 1"]
4 // console.log(arr[3])    undefined

如果通过字符串或者负数往数组里面添加一个值,那么下次访问的时候也必须通过键值对形式访问

3.

1 // var arr = [1,2,3];
2 // arr["bbb"]="nor 1";
3 // arr[-2]=222;
4 // arr.push(4);
5 // console.log(arr);    >>    [1, 2, 3, 4, bbb: "nor 1"]
6 // console.log(arr.length);    >> 4

 

// 值得注意的是通过字符串或者负数添加的值,那个数组是不会添加它的长度的,并且使用这种方式来添加的永远会在数组的最后面,因为我们使用push方法添加数字4的时候我们发现它并没有把是添加到最后后面,大家都知道push方法的将值添加到数组的末尾的。也许我们可以得出一个结论那就是数字和数字排列,键值对与键值对排列。

 

 

更新数组小问题。

 

1 // var num = [];
2 // num.push(4,3,5); >>返回值是添加的最后那个数也就是数字5
3 // num.reverse(); >>数组倒序排列,不是按照大小,是反过来
4 // console.log(num) >>[5, 3, 4]

 

 

 

1 var num = [];
2 num[5,"a",0]="111"; >>["111"] 如果末尾写的是0或者数组长度加1那么和正常情况一样。
3 console.log(num);

 

1 var num = [];
2 num[5,"a",6]="111";
3 console.log(num);  >>[6: "111"]

 

// 后面的会把前面的覆盖,最后一位写的索引不能大于数组长度+1,否则不管你写的是不是数字都是通过键值对的方式添加,如果是负数也是一样的。

 

1 // var a = [];
2 // a[10] = 10;
3 // console.log(a); >>[10: 10]
4 // console.log(a.length); >>11
5 // console.log(a[0]); >>undefined
6 // console.log(a[10]); >>10

// 如果数组的长度是0或者没有你要添加的那个索引那么长,那么js会把之前的值全部设置成undefined,并且用键值对的形式添加的。

相关文章:

  • hdu 5623 KK's Number(dp)
  • 【阅读源码系列】HashMap源码分析(JDK1.7和JDK1.8)
  • 使用开源的PullToRefreshScrollView scrollTo和scrollby遇到的问题
  • 【阅读源码系列】ThreadPoolExecutor源码
  • ​猴子吃桃问题:每天都吃了前一天剩下的一半多一个。
  • YII 路由配置
  • 讲一下ISO七层模型?
  • Python 17.1 HTTP协议简介
  • 培训机构出来的iOS学员怎么了?
  • 输入url(网址)之后到显示网页的过程?
  • Java中的陷阱题
  • Host文件?
  • js阻止表单重复提交
  • 为什么要域名解析?
  • Providers、Controller 、Service、DirectiveFactory
  • (三)从jvm层面了解线程的启动和停止
  • 【刷算法】求1+2+3+...+n
  • Java到底能干嘛?
  • JS学习笔记——闭包
  • Laravel核心解读--Facades
  • Mac转Windows的拯救指南
  • scala基础语法(二)
  • Spring Cloud(3) - 服务治理: Spring Cloud Eureka
  • Windows Containers 大冒险: 容器网络
  • 闭包--闭包之tab栏切换(四)
  • 回顾 Swift 多平台移植进度 #2
  • 快速体验 Sentinel 集群限流功能,只需简单几步
  • 每个JavaScript开发人员应阅读的书【1】 - JavaScript: The Good Parts
  • 微信开放平台全网发布【失败】的几点排查方法
  • 一道闭包题引发的思考
  • 关于Kubernetes Dashboard漏洞CVE-2018-18264的修复公告
  • ​一、什么是射频识别?二、射频识别系统组成及工作原理三、射频识别系统分类四、RFID与物联网​
  • ###C语言程序设计-----C语言学习(3)#
  • #Js篇:单线程模式同步任务异步任务任务队列事件循环setTimeout() setInterval()
  • #pragma once
  • #我与Java虚拟机的故事#连载17:我的Java技术水平有了一个本质的提升
  • (附源码)spring boot建达集团公司平台 毕业设计 141538
  • (附源码)ssm智慧社区管理系统 毕业设计 101635
  • (附源码)计算机毕业设计SSM基于java的云顶博客系统
  • (附源码)小程序儿童艺术培训机构教育管理小程序 毕业设计 201740
  • (十一)JAVA springboot ssm b2b2c多用户商城系统源码:服务网关Zuul高级篇
  • (四)模仿学习-完成后台管理页面查询
  • (已解决)vue+element-ui实现个人中心,仿照原神
  • (转)shell中括号的特殊用法 linux if多条件判断
  • (转载)虚幻引擎3--【UnrealScript教程】章节一:20.location和rotation
  • **PHP二维数组遍历时同时赋值
  • .bat批处理(八):各种形式的变量%0、%i、%%i、var、%var%、!var!的含义和区别
  • .NET 6 在已知拓扑路径的情况下使用 Dijkstra,A*算法搜索最短路径
  • .NET Core、DNX、DNU、DNVM、MVC6学习资料
  • .NET Framework .NET Core与 .NET 的区别
  • .net 反编译_.net反编译的相关问题
  • .NET 设计模式—适配器模式(Adapter Pattern)
  • .netcore 如何获取系统中所有session_ASP.NET Core如何解决分布式Session一致性问题
  • .NET开源快速、强大、免费的电子表格组件
  • /usr/local/nginx/logs/nginx.pid failed (2: No such file or directory)