经过上一回的测验,我发现了自己不是天选之人。
「哪尼,为什麽我不是天选之人,我不是有魔力吗?而且还有引导学姊你呀!」
艾草:「哎唷,现在为了扩大培养魔法人才只好放宽魔力基准呀。在没人才我要被派去当猫头鹰信使耶...我明明是绿绣眼,呜呜呜呜呜」
(两人相看无言)
艾草:「咦,先不要哭丧着脸,天选之人很多都消失在去魔王城的路上了↑_(ΦwΦ;)Ψ。而且阵列跟魔法阵息息相关唷!」
「怕爆,那不用天选了,继续乖乖累积魔力总量罗~~~₍₍ ◝(●˙꒳˙●)◜ ₎₎」
今天让我们聊聊阵列吧,阵列是一种有顺序的资料集合,外层使用 [] 中括号包覆里面的值,而值可以放原始型别、物件型别等各种型别的值,阵列是使用 , 逗号隔开,接下来就让我们来练习宣告一个变数并赋予值为阵列吧!
let array = ['item0','item1'];
为什麽是从零开始写起呢?因为阵列是从零开始读取的,如下:
let array = ['item0','item1'];
console.log(array[0])//'item0'
而要读取阵列的长度,可以使用 length
的方式:
let array = ['item0','item1'];
console.log(array.length)//2
另外阵列是物件型别,所以当我们去查看它的型别时,会出现以下状况:
let array = [];
console.log(typeof array)//object
那如果要查看阵列的型别可以怎麽做呢?
let array = [];
Array.isArray(array)//true
可以使用 Array.isArray()
的方式,将要判断的内容放入()小括号内,如果是阵列的话,就会回传 true
。
阵列的修改方式为使用 [] 中括号读取值後,直接赋予新的值即可,如下:
let array = [0];
array[0] = 1;
console.log(array)//[1]
这边会介绍三种新增的方式,包含预设新增的方式、unshift()
、push()
的方式!
预设写入的方式可以直接用 [] 去指定位置,并赋予该阵列值,如下:
let array = [0];
array[1] = 1;
这样就完成罗,是不是很简单呀?
如果我们今天想指定到其他位置也可以,如下:
let array = [0];
array[2] = 2;
console.log(array)//[0, empty, 2]
console.log(array[1])//undefined
console.log(array.length)//3
如上面的范例,如果指定到第2笔资料,但第1笔尚未存放值的情况下,会被带入 undefined
,且不会影响阵列长度,所以让我们开心的随便乱放吧(误,单纯玩笑话,请不要乱来
接下来来介绍第二个方法 unshift()
吧!
unshift()
会将资料塞入在阵列的第一个值,如下:
let array = [1];
array.unshift(0);
console.log(array)//[0, 1]
最後阵列的新增方式让我们来学习 push()
吧!
push()
会将资料塞入在阵列的最後一个值,如下:
let array = [1];
array.push(0);
console.log(array)//[1, 0]
知识点:阵列的新增
unshift()
写入的资料会塞在第一笔push()
写入的资料会塞在最後一笔这篇会简单介绍三种阵列的删除方式:pop()
、shift()
、splice(,)
让我们先来学习 pop()
吧!
pop()
会删除该阵列的最後一笔资料,如下:
let array = [0,1,2];
array.pop();
console.log(array)//[0, 1]
shift()
会删除该阵列的第一笔资料,如下:
let array = [0,1,2];
array.shift();
console.log(array)//[1, 2]
而 splice(,)
比较特别,它可以带入三个参数,分别代表:
第一个参数: start 起始位置
第二个参数:deleteCount 要删除几笔资料(选择性)
第三个参数:item1, item2, ... 要加入阵列的元素(选择性)
splice(start,deleteCount)
可以让我们指定想删除的位置,所以当我们今天想删除中间的1时可以使用以下方法:
let array = [0,1,2];
array.splice(1,1);
console.log(array)//[0, 2]
splice(start,deleteCount,item)
可以让我们指定想删除的位置,并在删除的位置内新增一个值:
let array = [0,1,2];
array.splice(0,1,3);
console.log(array)//[3, 1, 2]
指定在第零笔删除一笔资料,并在该处插入数字 3 。
知识点:阵列的删除
pop()
会删除阵列的最後一笔资料shift()
会删除阵列的第一笔资料splice(,)
可以指定删除位置,分别要带入三个参数:
length
来读取长度Array.isArray()
来判断是否为阵列unshift()
、push()
pop()
、shift()
、splice()
请问以下选项何者错误?
let herbs = ["mugwort","mint","vanilla"];
console.log(herbs[1]);//选项一
herbs.pop();
herbs.push("orris");
herbs.splice(0,1);
A 选项一会读取出 "mint"
B 阵列中仅存的值为 ["mint", "orris"]
C herbs.pop() 会删除阵列中的最後一笔资料
D herbs.push("orris") 会在阵列的最前方塞入一笔资料
E splice(0,1) 第一个参数零代表起始位置,第二个参数代表往後删除一笔
解答:透过阵列方法 push 可以新增资料,资料会被塞入最後一笔,所以答案是 D 。
JavaScript 必修篇 - 前端修练全攻略(六角学院)
https://developer.mozilla.org/zh-TW/docs/Web/JavaScript/Reference/Global_Objects/Array/splice
<<: Day 7: LeetCode 485. Max Consecutive Ones
>>: 追求JS小姊姊系列 Day7 -- 郑列展现的工具力(中)
The lone wolf dies but the pack survives. ---- Ga...
前言 这篇开始会有几篇是与「台湾证券交易所」有关,示范如何用 Ruby on Rails 来爬虫将资...
Day 27 Filebeat with multiple module and ELK Dashb...
嗨我是A Fei,连续好几天都十一点多回家,真的是累翻,先来看看今天的题目: Time to win...
分散式 transaction 和共识 (Distributed Transactions and ...