JS--数组

前言

学习js--数组


目录

前言

1.数组操作

首先要注意且牢记splice、sort、reverse这3个常用方法是对数组自身的操作,会改变数组自身。其他会改变自身的方法是增删push/pop/unshift/shift、填充fill和复制填充copyWithin。

2.生成类似[1-100]这样的的数组

测试大量数据的数组时可以这样生成:

3.JS--数组(创建数组)   三种方式

方式1.创建一个数组--最简单的方式(push)    

 方式2.创建一个数组--map方式

方式3.创建一个数组--Array.from 第二个初始化函数返回数据

效果图如下所示: 


1.数组操作

首先要注意且牢记splice、sort、reverse这3个常用方法是对数组自身的操作,会改变数组自身。其他会改变自身的方法是增删push/pop/unshift/shift、填充fill和复制填充copyWithin


2.生成类似[1-100]这样的的数组

测试大量数据的数组时可以这样生成:

// fill
const arr = new Array(100).fill(0).map((item, index) => index + 1)

// Array.from() 
const arr = Array.from(Array(100), (v, k) => k + 1)

// ... + array.keys() 
const ary = [...Array(100).keys()] 

 

new Array(100) 会生成一个有100空位的数组,
这个数组是不能被map(),forEach(), filter(), 
reduce(), every() ,some()遍历的,
因为空位会被跳过(for of不会跳过空位,可以遍历)。
 [...new Array(4)] 可以给空位设置默认值undefined,
从而使数组可以被以上方法遍历。

3.JS--数组(创建数组)   三种方式

以下三种方式:

方式1.创建一个数组--最简单的方式(push)    

利用for循环依次push到数组中                            

function createData1() {
  const data1 = [];
  for (let i = 0; i < 10; i++) {
    data1.push({
      name: `name${i + 1}`,
    });
  }
  return data1;
}
const data1 = createData1();
console.log('第二个输出');
console.log(data1);

 方式2.创建一个数组--map方式

  • 映射(map) 由 {键,值} 对组成的集合,以某种比较键大小关系的谓词进行排列。
function createData2() {
  // 如果不 fill 循环默认会跳过空值
  return new Array(10).fill(null).map((v, i) => ({ name: `name${i + 1}` }));
}
const data2 = createData2();
console.log('第三个输出');
console.log(data2);

方式3.创建一个数组--Array.from 第二个初始化函数返回数据

function createData3() {
  return Array.from({ length: 10 }, (v, i) => ({ name: `name${i + 1}` }));
}
const data3 = createData3();
console.log('第四个输出');
console.log(data3);

效果图如下所示: 

第二个输出
[
  { name: 'name1' },
  { name: 'name2' },
  { name: 'name3' },
  { name: 'name4' },
  { name: 'name5' },
  { name: 'name6' },
  { name: 'name7' },
  { name: 'name8' },
  { name: 'name9' },
  { name: 'name10' }
]
第三个输出
[
  { name: 'name1' },
  { name: 'name2' },
  { name: 'name3' },
  { name: 'name4' },
  { name: 'name5' },
  { name: 'name6' },
  { name: 'name7' },
  { name: 'name8' },
  { name: 'name9' },
  { name: 'name10' }
]
第四个输出
[
  { name: 'name1' },
  { name: 'name2' },
  { name: 'name3' },
  { name: 'name4' },
  { name: 'name5' },
  { name: 'name6' },
  { name: 'name7' },
  { name: 'name8' },
  { name: 'name9' },
  { name: 'name10' }
]

猜你喜欢

转载自blog.csdn.net/qq_35353972/article/details/126922961