编程语言
首页 > 编程语言> > 你应该知道的所有JavaScript数组方法

你应该知道的所有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,状态,服务器,创造,函数,承诺,方法,语法
来源: