緒論
本篇文章主要記錄有關js數組的一些操作方法。
- 類型判斷。
- 數組轉字符串。
- 翻轉數組。
- 數組排序。
- 數組鏈接。
- 數組截取,替換。
- 索引位置。
- every遍歷,每次爲true,結果爲true。
- filter過濾器。
- forEach循環。
- some遍歷,一次爲true,結果爲true。
- 數組清空。
正文
<!DOCTYPE html>
<div lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>index</title>
<script src="js/jquery-2.2.4.min.js"></script>
<style>
</style>
</head>
<body>
</body>
<script>
$(document).ready(function () {
array();
});
function array () {
var arr = [7, 2, 1, 6, 4];
var num = 123;
// 檢測一個對象是否爲數組,簡單數據類型用typeof
console.log('arr是數組嗎?' + (arr instanceof Array));
console.log('num是數組嗎?' + (num instanceof Array));
console.log('arr是數組嗎?' + Array.isArray(arr));
console.log('num是數組嗎?' + Array.isArray(num));
// join數組變字符串
console.log('數組變字符串:' + arr.toString());
console.log('數組變字符串:' + arr.join());
console.log('數組變字符串:' + arr.join(','));
// reverse翻轉數組
console.log('翻轉數組:' + arr.reverse());
// sort數組排序
console.log('數組排序:' + arr.sort());
// 數組排序 - 降序(b - a),升序(a - b)
console.log('數組排序 - 降序:' + arr.sort(function(a, b) {return b - a}));
var arr1 = [1, 9, 3];
// concat數組鏈接
console.log('數組鏈接:' + arr.concat(arr1));
// splice數組截取
console.log('數組截取,從索引值3開始到最後:' + arr.splice(3));
arr = [7, 2, 1, 6, 4];
console.log('數組截取,從索引值1開始獲取三個元素:' + arr.splice(1, 3));
// 由於數組截取之後原數組中元素會消失,所以再次使用已經沒有數據,所以不展示
console.log('數組截取,獲取最後2位:' + arr.splice(-2));
arr = [7, 2, 1, 6, 4];
console.log('數組截取,獲取最後2位:' + arr.splice(-2));
// 數組替換
arr = [7, 2, 1, 6, 4];
arr.splice(1, 2, 'aaa');
console.log('數組截取,刪除指定並替換:' + arr.toString());
// indexOf/lastIndexOf索引位置,沒有則返回-1
arr = [7, 2, 1, 6, 4, 7, 2, 1, 6, 4];
console.log('索引位置,第一次出現:' + arr.indexOf(1));
console.log('索引位置,最後出現:' + arr.lastIndexOf(1));
arr = [7, 2, 1];
// every數組遍歷,規則:c[b] = a
// 每次結果都返回true,every最後才返回true,失敗就結束
arr.every(function(a, b, c) {
console.log('數組遍歷,元素:' + a);
console.log('數組遍歷,索引:' + b);
console.log('數組遍歷,本身:' + c);
console.log('-----------------');
return true;
});
// filter過濾器
arr = [7, 2, 1, 6, 4, 7, 2, 1, 6, 4];
var newArr = arr.filter(function(element, index, array) {
if (element < 5) {
return true;
} else {
return false;
}
});
console.log('過濾器:' + newArr.toString());
// forEach循環,沒有返回值
arr = [7, 2, 1];
arr.forEach(function(element, index, array) {
console.log('數組遍歷,元素:' + element);
console.log('數組遍歷,索引:' + index);
console.log('數組遍歷,本身:' + array);
console.log('-----------------');
});
// some一次執行結果爲true,則some爲true
var b = arr.some(function(element, index, array) {
if (element == 1) {
return true;
}
return false;
});
console.log('some結果' + b);
// 數組清空
arr.length = 0;
arr.splice(0);
arr = [];
}
</script>
</div>
結果
(若有什麼錯誤,請留言指正,3Q)