ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

你应该知道的所有JavaScript数组方法

2022-11-14 14:10:25  阅读:323  来源: 互联网

标签:JavaScript 状态 服务器 创造 函数 承诺 方法 语法


.length()
为我们提供了数组的长度。

let items = ["pen","paper","pencil"]

console.log(items.length);// 3  

.concat()
与字符串concat方法完全相同。

let items = ["pen","paper","pencil"];
let grocery = ["bread", "milk", "eggs"];

console.log(items.concat(grocery));

//["pen", "paper", "pencil", "bread", "milk", "eggs"]
We don not have any ‘+’ concat method for arrays

.every()
在每个方法中,数组的每个元素都必须在函数
中传递条件 这里的语法是
array.every(function_name)

let items = ["pen","paper","pencil"];

function isString(item){
    return typeof item === 'string';
}

console.log(items.every(isString)); // true

let items = ["pen","paper","pencil", 23];

function isString(item){
    return typeof item === 'string';
}

console.log(items.every(isString)); // false

.fill()
正如名称所建议的那样,填充方法用已传递的项填充数组

let items = ["pen","paper","pencil","glue","scissors"];

console.log(items.fill("crayon", 1,3));// ["pen", "crayon", "crayon","glue","scissors"]

console.log(items.fill("crayon", 1)); // ["pen", "crayon", "crayon", "crayon", "crayon"]

console.log(items.fill("crayon")); // ["crayon", "crayon", "crayon", "crayon", "crayon"]

const arr = Array(10).fill(20);

console.log(arr); // [20, 20, 20, 20, 20, 20, 20, 20, 20, 20]

此处的索引 1 到 3(不包括 3)用输入的字符串填充。

.filter()
在每种方法中,我们检查数组中的每个元素是否都传递了特定条件。
在过滤器方法中,我们返回通过特定条件的元素。

let items = ["pen","paper","pencil","glue","scissors"];

const new_items =  items.filter((item) => item.length > 4 );

console.log(new_items); // ["paper", "pencil", "scissors"]

在上面的例子中,我们可以看到new_items返回一个数组,其中每个元素的长度都大于 4。

.findIndex()
findIndex 只是在数组中查找元素的索引。

let items = ["pen","paper","pencil","glue","scissors"];

const new_items =  items.findIndex((item) => item === "paper" );

console.log(new_items); // 1

.flat()
flat方法用于平展数组。扁平化数组是什么意思?
扁平化数组只是意味着,如果你看到一个这样的数组

let arr = [1,2,3,[4,5],[6,7,[8,9,10]],11,12];

console.log(arr.flat()); // [1, 2, 3, 4, 5, 6, 7, [8, 9, 10], 11, 12]

我们可以在这里观察到的一件事是 .flat() 只扁平化了一层深度。数组 [8,9,10] 仍然存在于我们的输出中,因为它有 2 级深度。
在这种情况下,我们可以执行以下操作

let arr = [1,2,3,[4,5],[6,7,[8,9,10]],11,12];

console.log(arr.flat(2)); // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]

当我们在 flat() 中指定一个数字作为参数时,我们可以根据需要深入多个级别。但是,如果我们不知道阵列有多深怎么办。在这种情况下,我们可以使用递归函数来解决这个问题。请参考以下内容:

let arr = [1,2,3,[4,5],[6,7,[8,9,10]],11,12];

const result = [];

function flattenArray(arr){
arr.forEach((ele) => (Array.isArray(ele) ? flattenArray(ele) : result.push(ele)));
return result;
}

console.log(flattenArray(arr)); // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]

.forEach()forEach()
从字面上遍历数组中的每个对象

let items = ["pen","paper","pencil","glue","scissors"];

let arr = items.forEach((item) => console.log(item)); 

//
"pen"
"paper"
"pencil"
"glue"
"scissors"

标签:JavaScript,状态,服务器,创造,函数,承诺,方法,语法
来源:

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有