JS的基础观念介绍告一段落,接下来将会有一些JS的基础语法介绍、还会有过去线上学习实作专案分享,今天来介绍JS 阵列的基础与使用方式,以呼应明天的实作专案~
const arr = [111, 222, 333]
console.log(arr);
console.log(arr[1]); //222
//呼应for 回圈,从0开始,从索引第一个
push()
:添加一个或多个元素至阵列的末端const score = [1, 3, 4, 5, 100];
score.push(1000) ;
console.log(score); //[1, 3, 4, 5, 100,1000]
unshift()
: 加入阵列最前面 score.unshift(88) ;
console.log(score); //[88, 1, 3, 4, 5, 100,1000]
pop()
:从最末端抽走阵列值 score.pop() ;
console.log(score); //[88, 1, 3, 4, 5, 100]
console.log(score.pop()); //1000
shift
: 移除第一个阵列值 score.shift() ;
console.log(score); //[ 1, 3, 4, 5, 100]
console.log(score.shift()); //88
slice
:切完後,原本的阵列将不会被修改,会回传新阵列const arr = ['a', 'b', 'c', 'd', 'e', 'f', 'g'];
//用索引
console.log(arr.slice(2, 4));//不包含最後一个
console.log(arr.slice(2, 5));
slice()
来复制原本的阵列const arr2 = arr.slice();
const arr3 = arr.slice(0);
console.log(arr2); //['a', 'b', 'c', 'd', 'e', 'f', 'g']
console.log(arr3); //['a', 'b', 'c', 'd', 'e', 'f', 'g']
splice()
:可以加入、删除阵列中的元素const arr=['Ben', 'Kyle', 'May', 'Shin', 'Mikle'];
arr.splice(1, 0, 'Fan'); //从索引值1後面,插入
console.log(arr); //['Ben', 'Fan', 'Kyle', 'May', 'Shin', 'Mikle']
arr.splice(3, 1, 'Eson');
console.log(arr); ['Ben', 'Fan', 'Kyle', 'May', 'Eson', 'Mikle']
array.splice(2, 2);
console.log(array); // ['Ben', 'Fan', 'Kyle', 'Mikle']
filter()
: 用於搜寻符合条件的资料const Name=['Ben', 'Patricia', 'May', 'Shin', 'Mikle'];
const result = words.filter( function(item, index, array){
return item.length > 4; // 取得长度大於4
});
console.log(result); // ['Patricia', 'Mikle']
map()
: 让阵列中每个元素执行该函式的任务,最後将执行结果回传新阵列const array1 = [1, 4, 9, 16];
const map1 = array1.map(function (item, index, array){
return item * 2
});
console.log(map1);
// [2, 8, 18, 32]
forEach()
let data=[30, 40, 100];
let total=0;
data.forEach(function(item,index,arry){
total+=item;
})
console.log(total); //170
let total=0;
,放在回圈内会造成没有累加的效果forEach()
和 map()
差异forEach()
会修改原本的阵列,而map()
方法可以回传一个新的阵列,并保有原本的旧阵列,另外 forEach()
并不会回传任何东西,所以写在 return 里的东西不会有作用
参考资料
JavaScript 阵列处理方法
<<: 08. Laravel Sail x Xdebug x Coverage
>>: Day23:Greedy Algorithm - 贪婪演算法
从中间弹出的 Alert style: .default => 按钮字体颜色为预设的蓝色 ha...
上一篇介绍了 Generic 泛型, 其实这篇差不多意思 XDD 主要针对 Generic Fun...
...
前言 在查找 liff.bluetooth.requestDevice() 的用途,发现一份Web ...
社群软件的用户间交谈讯息是如何做到资讯安全保护? 关於端对端加密 隐私与安全对我们来说极度重要,因此...