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);

小谷xg
2.3k 声望297 粉丝

明月清风自在怀,任重道远常心态。坎坷人生从容走,否极自有安泰来。