欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

js数组去重 数组拼接 替换数组中的指定值 递归数组 判断数组中是否存在指定值 数组求和 根据条件判数组值

程序员文章站 2022-07-09 20:52:20
这是学习过程中记录的一些关于数组操作的常用属性或方法,记录一下方便以后使用。 // 数组去重 var arr1 = [1,1,2,3,4,5,6,3,2,4,5,'a','b','c','a',6,7,8,3,5,7,8,34] // console.log(Array.from(new Set(a ......
这是学习过程中记录的一些关于数组操作的常用属性或方法,记录一下方便以后使用。
// 数组去重
var arr1 = [1,1,2,3,4,5,6,3,2,4,5,'a','b','c','a',6,7,8,3,5,7,8,34]
// console.log(array.from(new set(arr1))) // [1, 2, 3, 4, 5, 6, "a", "b", "c", 7, 8, 34]


// 数组拼接 concat() 此方法不会更改现有数组,而是返回一个新数组。可拼接多个数组
// var new_array = old_array.concat([ value1 [,value2 [,... [,valuen ]]]])
var arr2 = [1,2,3,4,5]
var arr3 = [6,7,8,9,0]
// console.log(arr2.concat(arr3)) // [1,2,3,4,5,6,7,8,9,0]


// 该array.isarray() 方法确定传递的值是否为array。
array.isarray([1, 2, 3]);  // true
array.isarray({foo: 123}); // false
array.isarray('foobar');   // false
array.isarray(undefined);  // false


// 修改替换数组中的指定索引的值(会改变原数组) 返回修改后的新数组
// arr .fill(value [,start [ ,end]])
// value 填充数组的值。 start 开始的索引(可选)。end 结束索引(可选),默认为this.length。
[1, 2, 3].fill(4);               // [4, 4, 4]
[1, 2, 3].fill(4, 1);            // [1, 4, 4]
[1, 2, 3].fill(4, 1, 2);         // [1, 4, 3]


// flat()递归到指定深度的数组。该flat()方法创建一个新数组,所有子数组元素以递归方式连接到指定的深度。
// var newarray = arr .flat([depth]); // depth (可选)要递归到的深度默认1
var arr4 = [1,2,[3,4]];
console.log(arr4.flat()) // [1,2,3,4]
var arr5 = [1,2,[3,4,[5,6]]];
console.log(arr5.flat(2)) // [1,2,3,4,5,6]


// 该includes()方法检索数组是否存在其条目中包括的特定值,返回true或false。
// arr .includes(valuetofind [,fromindex]) // valuetofind 要搜索的值。fromindex (可选)从第几位开始搜索默认 0
[1, 2, 3].includes(2);     // true
[1, 2, 3].includes(4);     // false


// 数组求和 reduce()  accumulator 累加后的值  currentvalue 当前值
const arr6 = [1, 2, 3, 4];
const reducer = (accumulator, currentvalue) => accumulator + currentvalue;
// 1 + 2 + 3 + 4
console.log(arr6.reduce(reducer)); // 10


// 该some()方法测试数组中是否至少有一个元素通过了检测
// arr.some(callback(element [,index [,array]]) [,thisarg ])
var arr7 = [1, 2, 3, 4, 5];
var even = function(element) {
  return element === 2;
};
console.log(arr7.some(even));


// tostring() 把数组变成字符串
var array1 = [1, 2, 'a', '1a'];
console.log(array1.tostring()); // "1,2,a,1a"