专栏首页萌兔it数据结构与JS也可以成为CP(一)数组

数据结构与JS也可以成为CP(一)数组

Hello小伙伴们,经过了最近的一些介绍,我们今天又返回了JS,为什么呢?我们主要是对数据结构进行一下介绍,很多小伙伴认为对于前端来说数据结构不重要,曾经的我也是这么认为,甚至觉得面试官面试数据结构就是多此一举,但是在后面的搬砖过程中发现,自己真的错了。对于前端宝宝们来说,最熟悉的语言就是JS了,而且leetcode也是支持JS的,所以今天兔妞就和大家一起看看数据结构与JS的CP会擦出什么样的火花吧~

基本编程模块回顾

想要开始数据结构之旅,我们首先要保证自己编程模块还记得很熟练。先让我们回忆一下这些模块吧~

1)声明和初始化变量

var rabbitNum;

2)算术运算

运算符:+ - * / % (还记得都怎么用吗

函数:Math.sqrt(), Math.abs()

3)判断结构

if(){

...

} else{

...

}

switch(){

case "1":

...

break;

...

}

4)循环结构

while(){

...

}

for(){

...

}

5)函数

function rabbitFamily(){

...

}

6) 递归:简单些说就是设置一个终止条件,在没达到条件之前反复自己调用自己。

function findRabbit(index){

if(index == 6){

return index;

}else{

return findRabbit(index+1);

}

}

findRabbit(1);

数据结构的开端——数组

复习好了,我们就开始第一个结构数组吧,其实我们之前也聊过数组了,就也权当复习一下吧~

1)创建数组

var rabbits=[];

var rabbits=['rabbit1', 'rabbit2', 'rabbit3'];

var rabbits = new Array();

var rabbits = new Array('rabbit1', 'rabbit2', 'rabbit3');

var rabbits = new Array(10);

2) 读写数组

对于数组最多的操作,兔妞觉得就是遍历数组了。

for(var i=0; i<arr.length; i++){

console.log(arr[i]);

}

3) 字符串与数组的相互转换

var rabbitFamily = "Rabbit father rabbit mother and rabbit baby";

var arr = rabbitFamily.split(" ");

console.log(arr); //['Rabbit', 'father', 'rabbit', 'mother', 'and', 'rabbit', 'baby'

var newRabbitFamily = arr.join(" ");

console.log(newRabbitFamily); // "Rabbit father rabbit mother and rabbit baby"

4)数组的操作

连接数组:arr1.concat(arr2);

截取数组:arr1.splice(3,3);

添加元素(尾):arr.push(1);

添加元素(头):arr.unshift(0);

删除元素(尾):arr.pop();

删除元素(头):arr.shift();

数组排序(顺序):arr.sort();

数组排序(倒序):arr.reverse();

5)迭代器方法:什么叫迭代器方法呢?就是会对数组中每个元素应用一次函数,然后返回一个新的数值、数组等。

forEach():接受一个函数作为参数,并对数组中每个元素使用这个函数

every():接受一个返回值类型为布尔的函数,对每个元素使用此函数,所有结果均为true则为true

some():类似于every(),数组中所返回的结果有一个为true,some即为true

reduce():该方法会从一个累加值开始,不断对累加值和 数组中的后续元素调用该函数,直到数组中的最后一个元素,最后返回得到的累加值。

map():接受一个函数作为参数,并对数组中每个元素使用这个函数,但是返回的是一个数组

filter():filter() 和 every() 类似,传入一个返回值为布尔类型的函数。和 every() 方法不同的是, 当对数组中的所有元素应用该函数,结果均为 true 时,该方法并不返回 true,而是返回 一个新数组,该数组包含应用该函数后结果为 true 的元素

本文分享自微信公众号 - 萌兔it(mengtu_it),作者:萌兔IT

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-06-14

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • JavaScript入门总结——第三弹 数组大放送

    Hello大家好~~首先在这里祝大家元宵节快乐呢,大家吃汤圆了吗,兔妞反正还没吃呢,等着晚上放开肚子吃呢,糯叽叽糯叽叽,嘿嘿

    萌兔IT
  • JavaScript第十四弹——ES6(三)数组的扩展

    Hello,小伙伴们,周末愉快呀,今天延续前天的话题,上次说了ES6对字符串的扩展,今天我们来谈谈约定好的数组的扩展吧~~

    萌兔IT
  • JavaScript第七弹——深入理解浅拷贝与深拷贝

    Hello小伙伴们,抱歉这两天没有更文,今天我来将功补过啦,今天的主题是“拷贝”!大家还记得之前说过的数据类型吗,那可是我们今天的基础呢!

    萌兔IT
  • 算法题之数组连续筛选处理

    大体思路就是循环遍历,每次遍历判断当前项是否与前一项差值为1,这里需要考虑若结果为1,如何处理,结果不为1如何处理。

    挥刀北上
  • ES6常用数组方法

    有时候我们需要清空数组,一个快捷的方法就是直接让数组的 length 属性为 0,就可以清空数组了。

    何处锦绣不灰堆
  • 前端基础-JS中特殊的对象(数组)

    数组的元素可以是任意类型的数据,因此,有时数组中的某个元素的值又是一个数组,而这样的数组被称为多维数组,如果数组中只有其他类型的数据,而没有另外的数组值,这样的...

    cwl_java
  • js数组笔记

    数组(array)是按次序排列的一组值。每个值的位置都有编号(从0开始)。整个数组用方括号表示,数组的值用','分割;数组的数据可以是任何类型。

    bamboo
  • 前端学习(39)~js学习(十六):数组

    数组的存储性能比普通对象要好。在实际开发中我们经常使用数组来存储一些数据,使用频率非常高。

    Vincent-yuan
  • JavaScrip数组

    JS的数组使用中括号[]进行定界,中括号包裹的区域就是数组的元素。数组元素之间使用逗号隔开

    羊羽shine
  • 第29天:js-数组添加删除、数组和字符串相互转换

    一、添加数组 var arr=[1,3,5]; arr.push(7,9);//添加7和9到数组arr后面,得到[1,3,5,7,9] 1、push();可向数...

    半指温柔乐

扫码关注云+社区

领取腾讯云代金券