摘要:实际使用的是这个注意,是,比数组的长度大每次迭代时更新这里可以看到更新后的都是遍历迭代器结束才是遍历完毕,输出的数组方法返回一个新的迭代器,它包含数组中每个索引的键。方法对累加器和数组中的每个元素从左到右应用一个函数,将其减少为单个值。
学习javascript的过程中,总是容易array忘记方法,把数组的一些方法全部汇总在一起,方便查看和增加记忆.
let arr = ["apple", "banana"]; console.log(arr, "---------访问数组"); //[ "apple","banana" ]
let arr = ["apple", "banana"]; let first = arr[0]; console.log(first, "----通过索引访问数组"); //"apple" console.log(arr[arr.length - 1], "-------访问数组中最后一位元素") //"banana"
let arr = ["apple", "banana"]; arr.forEach((item, index, array) => { console.log(item, "------item") //"apple" "banana" console.log(index, "------index") // 0,1 console.log(array, "-----array") //["apple","banana"] })
let arr = ["apple", "banana"]; arr.push("orange"); console.log(arr, "----添加元素到数组末尾"); // ["apple", "banana", "orange" ]
let arr = ["apple", "banana","orange"]; arr.pop(); console.log(arr, "----删除数组末尾元素"); //["apple", "banana"]
let arr = ["apple", "banana"]; arr.shift(); console.log(arr, "----删除数组最前面的元素") //[ "banana" ]
let arr = ["banana"]; arr.unshift("eggs"); console.log(arr, "----添加元素到数组的头部") //[ "eggs", "banana" ]
let arr = [ "eggs","banana"]; let index = arr.indexOf("banana"); console.log(index, "------查看某个某个元素在数组中的位置;") //1 //-------------------- let index1 = arr.indexOf("watermelon"); console.log(index1, "------查看某个某个元素在数组中的位置;") //-1
let arr = [ "eggs","banana"]; splice(start,end,string) start是开始下标的位置 end是删除几个元素 string是插入或替换的元素 arr.splice(0, 1, "grapes"); //在0的位置删除一个元素,并且加入一个元素 ,删除插入 console.log(arr,"------") //[ "grapes", "banana" ] "------" arr.splice(1, 2, "fruits"); //在下标为1的位置插入2个元素,如果后面只传了一个就插入一个 console.log(arr,"------") //[ "grapes", "fruits" ] "------" arr.splice(2, 2, "fruits", "fruits"); //在下标为2的位置插入2个元素 console.log(arr,"------") //[ "grapes", "fruits" ] "------" arr.splice(0, 1); //删除元素 console.log(arr, "---通过索引删除某个元素")
let arr=[ "fruits", "fruits", "fruits" ]; let copyArr = arr.slice(); //拷贝数组 console.log(copyArr) //[ "fruits", "fruits", "fruits" ] let sliceArr = arr.slice(0, 1); //获取元素 console.log(sliceArr) //[ "fruits" ]
const bar = ["a", "b", "c"]; Array.from(bar); const foo = Array.from("foo"); console.log(foo); //[ "f", "o", "o" ]
console.log(Array.isArray([1, 2, 3])) //true console.log(Array.isArray("str")) //false console.log(Array.isArray({ "foo": "1" })) //false console.log(Array.isArray(null)) //false console.log(Array.isArray(undefined)) //false
console.log(Array.of(5)) //[5] 创建一个数组为[5] console.log(Array.of(1, 2, 3)) //[1,2,3] console.log(Array.of(1, [1, 23], 3)) //[ 1, [ 1, 23 ], 3 ]
let array1 = ["a", "b"]; let array2 = ["1", "2"]; let array3 = [].concat(array1, array2); console.log(array3) //[ "a", "b", "1", "2" ]
方法浅复制数组的一部分到同一数组中的另一个位置,并返回它,而不修改其大小。
target 必需。复制到指定目标索引位置。 start 必需。元素复制的起始位置。 end 可选。停止复制的索引位置 (默认为 array.length) let copyWithinArr = ["alpha", "beta", "copy", "delta"].copyWithin(1, 2, 3); 1=="beta" 2=="copy" 3=="delta" console.log(copyWithinArr) // [ "alpha", "copy", "copy", "delta" ] let copyWithinArr1 = ["alpha", "beta", "copy", "delta"].copyWithin(2, 0); console.log(copyWithinArr1) //[ "alpha", "beta", "alpha", "beta" ]
var entries = ["a", "b", "c"]; var iterator = entries.entries(); console.log(iterator, "---") console.log(iterator.next().value, "---") console.log(iterator.next()) var iter = entries.entries(); var a = []; // for(var i=0; i< arr.length; i++){ // 实际使用的是这个 for (var i = 0; i < arr.length + 1; i++) { // 注意,是length+1,比数组的长度大 var tem = iter.next(); // 每次迭代时更新next console.log(tem.done); // 这里可以看到更新后的done都是false if (tem.done !== true) { // 遍历迭代器结束done才是true console.log(tem.value); a[i] = tem.value; } } console.log(a); // [ [ 0, "a" ], [ 1, "b" ], [ 2, "c" ] ] 遍历完毕,输出next.value的数组
for (let index of ["a", "b"].keys()) { console.log(index); } // 0 // 1
function isBigEnough(element, index, array) { return (element >= 10); } var passed = [12, 5, 8, 130, 44].every(isBigEnough); // passed is false passed = [12, 54, 18, 130, 44].every(isBigEnough); // passed is true
console.log([1,2,3,4,5].some(isBigEnough),"----some"); //一个都没有通过false // passed is false console.log([12, 54, 18, 1,2].some(isBigEnough),"--------some"); //只要有一个通过即为true // passed is true
arr.fill(value,start,end) let fillArr = [1, 2, 3, 4, 5]; console.log(fillArr.fill(3)) //[ 3, 3, 3, 3, 3 ] console.log(fillArr.fill(2, 0, 2)) //[ 2, 2, 3, 3, 3 ] console.log(fillArr.fill(5, 1)) // 2, 5, 5, 5, 5 ]
let filter = (value) => { return value > 10 } console.log([15, 13, 2, 16, 3].filter(filter)) // 15, 13, 16 ]
console.log([15, 13, 2, 16, 3].find(filter)) // 15 返回第一个满足条件的值 否则undefined
console.log([15, 13, 2, 16, 3].findIndex(filter)) // 0 返回第一个满足条件的下表 否则-1
fillArr.forEach((item, index, array) => console.log(item))
console.log(fillArr.includes(2)) //true 检查数组中是否有该值有为true,否则false console.log(fillArr.includes(4)) //false
console.log(fillArr.indexOf(2)) //0 console.log(fillArr.indexOf(4)) //-1
let joinArr = ["Wind", "Rain", "Fire"]; console.log(joinArr.join()); //Wind,Rain,Fire
console.log(["a","b"].lastIndexOf("a")); //0 从后面往前面找
let numbers=[1,2,3,45,7,8,9]; let doubles=numbers.map(x=>x+1); console.log(doubles,"------map") //[ 2, 3, 4, 46, 8, 9, 10 ] "------map"
const reduceArr=[1,2,3,4,5,6]; const reduce=(accumulator,currentValue)=>{ console.log(accumulator,"-------accumulator"); //累加的值 console.log(currentValue,"-------currentValue"); //当前元素 return accumulator+currentValue }; console.log(reduceArr.reduce(reduce)) //21 从左往右
console.log(reduceArr.reduceRight(reduce)) //21 从右往左
console.log(reduceArr.reverse()) //[ 6, 5, 4, 3, 2, 1 ] 数组顺序颠倒
let items = [ { name: "Edward", value: 21 }, { name: "Sharpe", value: 37 }, { name: "And", value: 45 }, { name: "The", value: -12 }, { name: "Magnetic" ,value :0}, { name: "Zeros", value: 37 } ]; items.sort((a,b)=>{ return a.value-b.value }) console.log(items) items.sort((a,b)=>{ var nameA = a.name.toUpperCase(); // ignore upper and lowercase var nameB = b.name.toUpperCase(); // ignore upper and lowercase if (nameA < nameB) { return -1; } if (nameA > nameB) { return 1; } // names must be equal return 0; // return nameA-nameB 转成NAN }) console.log(items)
let str=[1,2,3,4,5]; console.log(str.toLocaleString()) //1,2,3,4,5
希望大家喜欢,也希望大家指点错误,也可以加入qq群439667347,大家一起讨论,一起进步,后续更新中...
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/107624.html
摘要:常用方法作用向从数组中添加删除项目,然后返回被删除的项目。注释该方法并不会修改数组,而是返回一个子数组。语法表示数组开始选定的位置表示数组结束选定的位置作用从已有的数组末尾增加一个元素。 JavaScript 常用方法 1. splice() 作用:向/从数组中添加/删除项目,然后返回被删除的项目。 注释:该方法会改变原始数组。 语法:arrayObject.splice(...
摘要:数组常用方法介绍删除数组最后一位元素。开始下标删除个数,插入元素可以多个注意当数组执行上面的这些方法时,都会修改原数组。输出从数组中找出所有符合指定条件的元素。内容返回将数组合成一个值。合并数组或合并数组的值。 JavaScript 数组常用方法介绍 array.pop – 删除数组最后一位元素。 var arr = [1, 2, 3]; arr.pop();// 返回 3 arr;/...
摘要:省略则对数组元素进行排序返回该数组从数组中添加删除项目返回被删除的元素插入替换删除 Array对象常用方法 不改变原数组 concat() join() slice() toString() 改变原数组 pop() push() reverse() shift() unshift() sort() splice() 不改变原数组 array.concat(array) 连接两个...
摘要:数组常用方法数组作为中常用的数据类型使我们用的最多的在其他地方可以搜索出很多对其方法的总结本文列举了笔者认为的个人认为最为重要的一系列方法字符串数组转换数组字符串转换转换时可以添加符号还有一个是查找元素返回第一个与参数相同的元素的索引。 js数组常用方法 数组作为js中常用的数据类型使我们用的最多的, 在其他地方可以搜索出很多对其方法的总结, 本文列举了笔者认为的(个人认为^_^)最为...
摘要:本文记录关于数组的一些常用方法,搜集总结。对于数组中的每个元素,都会调用函数一次。返回值是一个新数组,其中的每个元素均为关联的原始数组元素的回调函数返回值。 本文记录关于js数组的一些常用方法,搜集总结。 主要思路: 1. 方法功能是什么 2. 传递的参数是什么 3. 返回值是什么 4. 原来的数组是否改变 第一组:关于数组的增加、删除和修改 1.push 向数组末尾增加新的...
摘要:本系列文章适合快速掌握入门语法,想深入学习的小伙伴可以看看阮一峰老师的入门本篇文章是对之前文章的一个补充,可以使代码更简洁函数参数默认值在传统语法中如果想设置函数默认值一般我们采用判断的形式在新的语法中我们可以在参数声明的同时赋予默认值参数 本系列文章适合快速掌握 ES6 入门语法,想深入学习 ES6 的小伙伴可以看看阮一峰老师的《ECMAScript 6 入门》 本篇文章是对之前文章...
阅读 2554·2021-11-22 12:05
阅读 3439·2021-10-14 09:42
阅读 1674·2021-07-28 00:15
阅读 1980·2019-08-30 11:08
阅读 1475·2019-08-29 17:31
阅读 918·2019-08-29 16:42
阅读 2326·2019-08-26 11:55
阅读 2107·2019-08-26 11:49