es6 Array数组方法
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>arr方法</title>
<script>


// Array.from() 方法从一个类似数组或可迭代对象中创建一个新的数组
// const bar=["a","b","c"];
// alert(Array.from(bar));
// alert(Array.from('foo'));


// Array.isArray() 用于确定传递的值是否是一个 Array。
// alert(Array.isArray([1,2,3]));//true
// alert(Array.isArray({foo:123}));//false
// alert(Array.isArray("foobar"));//false
//Array.of() 方法创建一个具有可变数量参数的新数组实例,而不考虑参数的数量或类型。

// Array.of() 和 Array 构造函数之间的区别在于处理整数参数:Array.of(7) 创建一个具有单个元素 7 的数组,而 Array(7) 创建一个包含 7 个 undefined 元素的数组

// alert(Array.of(7));[7]
// alert(Array.of(1,2,3));//[1,2,3];
// alert(Array(7));//[7]
// alert(Array(1,2,3));//[1,2,3];

// every() 方法测试数组的所有元素是否都通过了指定函数的测试

// 下例检测数组中的所有元素是否都大于 10
// function isBigEnough(element,index,array) {
// return (element >= 10);
// }
// var passed = [12, 5, 8, 130, 44].every(isBigEnough);
// alert(passed);//false
// passed=[12, 54, 18, 130, 44].every(isBigEnough);// true
// alert(passed)
// fill() 方法用一个固定值填充一个数组中从起始索引到终止索引内的全部元素。
// var array1 = [1, 2, 3, 4];
// // fill with 0 from position 2 until position 4
// console.log(array1.fill(0, 2, 4));
// // expected output: [1, 2, 0, 0]

// // fill with 5 from position 1
// console.log(array1.fill(5, 1));
// // expected output: [1, 5, 5, 5]

// // console.log(array1.fill(6));
// // expected output: [6, 6, 6, 6]

// filter() 方法创建一个新数组, 其包含通过所提供函数实现的测试的所有元素。 
// function isBigEnough(value) {
// return value >= 10;
// }
// var filtered = [12, 5, 8, 130, 44].filter(isBigEnough);
// alert("数组"+filtered);
// const isBigEnough = value => value >= 10;
// let [...spread]= [12, 5, 8, 130, 44];

// let filtered = spread.filter(isBigEnough);
// alert(filtered);

// find() 方法返回数组中满足提供的测试函数的第一个元素的值。否则返回 undefined。
// function isBigEnough(element) {
// return element >= 15;
// } 
// alert([12, 5, 8,10, 44].find(isBigEnough));
// findIndex()方法返回数组中满足提供的测试函数的第一个元素的索引。否则返回-1
// function isBigEnough(element) {
// return element >= 15;
// }
// alert([12, 5, 8, 130, 44].findIndex(isBigEnough)); //3

// indexOf()方法返回在数组中可以找到一个给定元素的第一个索引,如果不存在,则返回-1
// let a=[2, 9, 7, 8, 9]; 
// // alert(a.indexOf(2)); // 0 
// // alert(a.indexOf(6)); //-1
// // a.indexOf(7); // 2
// // a.indexOf(8); // 3
// alert(a.indexOf(9)); // 1

// if (a.indexOf(3) === -1) {
// // element doesn't exist in array
// }

// join() 方法将一个数组(或一个类数组对象)的所有元素连接成一个字符串并返回这个字符串。
// let a=['Wind','Rain','Fire'];
// console.log(a.join("*")); // 'Wind*Rain*Fire'


// map() 方法创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后返回的结果。
// let numbers = [1, 5, 10, 15];
// let doubles = numbers.map( x => x ** 2);
// alert(numbers); //[1, 5, 10, 15]
// alert(doubles);//[1, 25, 100, 225]

// pop()方法从数组中删除最后一个元素,并返回该元素的值。此方法更改数组的长度。
// let a = [1, 2, 3];
// console.log(a.length); // 3
// a.pop(); // 3

// console.log(a); // [1, 2]
// // a.length; // 2


// push() 方法将一个或多个元素添加到数组的末尾,并返回新数组的长度。
// var numbers=[1,2,3];
// numbers.push(4);
// console.log(numbers); // [1, 2, 3, 4]

// numbers.push(5, 6, 7);

// console.log(numbers); // [1, 2, 3, 4, 5, 6, 7]

// shift() 方法从数组中删除第一个元素,并返回该元素的值。此方法更改数组的长度。
// let a = [1, 2, 3];
// let b = a.shift();
// console.log(a); // [2, 3]
// console.log(b); // 1


// slice() 方法返回一个从开始到结束(不包括结束)选择的数组的一部分浅拷贝到一个新数组对象。原始数组不会被修改
// var animals=['ant','bison','camel','duck','elephant'];
// console.log(animals.slice(4));//删除第4个

// sort() 方法用就地( in-place )的算法对数组的元素进行排序,并返回数组。 sort 排序不一定是稳定的。默认排序顺序是根据字符串Unicode码点。
// var fruit = ['cherries', 'apples', 'bananas'];
// alert(fruit.sort());

// var scores = [1, 10, 21, 2]; 
// console.log(scores.sort());
// 
// splice() 方法通过删除现有元素和/或添加新元素来更改一个数组的内容。
// var myFish = ['angel', 'clown', 'mandarin', 'sturgeon'];//索引从1开始

// myFish.splice(2, 0,'drum'); // 在索引为2的位置插入'drum'
// console.log(myFish)// myFish 变为 ["angel", "clown", "drum", "mandarin", "sturgeon"]

// // myFish.splice(2, 1); // 从索引为2的位置删除一项(也就是'drum'这一项)
// // // myFish 变为 ["angel", "clown", "mandarin", "sturgeon"]

// unshift() 方法将一个或多个元素添加到数组的开头,并返回新数组的长度。
// let a=[1,2,3];
// a.unshift(4,5);
// console.log(a);// [4, 5, 1, 2, 3]

 

</script>
</head>
<body>

</body>
</html>