1.循环遍历
for (let value of myArray) {
console.log(value);
}
2.对数组进行拷贝
// 用法
var a = ['a', 'b', 'c'];
a.slice() // ["a", "b", "c"]
slice没有参数,实际上等于返回一个原数组的拷贝
3.是否包含某个元素
includes
if (point_ids.includes(resData.id)) {
resData.dates.push(i);
}
indexOf方法返回给定元素在数组中第一次出现的位置,如果没有出现则返回-1。
var a = ['a', 'b', 'c'];
a.indexOf('b') // 1
a.indexOf('y') // -1
4.排序
排序后,原数组将被改变
普通排序
circle_nums.sort(); //默认从小到大排序
circle_nums.sort(function (a, b) { //从大到小排序
return b - a;
});
对象数组指定顺序排序
var infoObj=[
{
name:"张三",
sex:'female',
age:30
},
{
name:"李四",
sex:'male',
age:20
},
{
name:"王五",
sex:'female',
age:40
}
];
// 指定排序的比较函数
function compare(property){
return function(obj1,obj2){
var value1 = obj1[property];
var value2 = obj2[property];
return value1 - value2; // 升序
}
}
var sortObj = infoObj.sort(compare("age"));
console.log(sortObj);
5.数组获取最后一个
const ids=['a','b','c'];
ids.slice(-1)[0];
6.更改每一条数据,不用遍历
firLatLngs.map(x => parseFloat(x));
7.字符串数组转换成数值,支持小数
['1','2','3'].map(Number)
8.在 JavaScript 中,如何求出两个数组的交集和差集?
let intersection = a.filter(v => b.includes(v));
let difference = a.concat(b).filter(v => !a.includes(v) || !b.includes(v));
9.快速生成自然数数组
const n = 10000;
// 方法一
let i = 0;
new Array(n).fill(i++);
// 方法二
Array.from({ length: n }, (v, i) => i);
// 方法三
[...Array(n).keys()];
// lodash
_.times(n);
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。