一、基础数据类型

基础数据类型,有7种类型,存在即合理。

1.int 整数

主要是做运算的 。比如加减乘除,幂,取余  + - * / ** %...
2.bool 布尔值

判断真假以及作为条件变量
3.str 字符串

存储少量的数据。‘太白’,'password'... 操作简单,便于传输。
4.list 列表

[1,2,'alex',{name:'zhang'}] 存放大量的数据,大量的数据放到列表中便于操作
5.tuple 元组

也叫只读列表。(1,2,'alex',{name:'zhang'}) 一些重要的数据或者不想被更改的数据,使用元组
6.dict 字典

{‘name_list’:'[zhang,lisi]'},存储关系型的数据,查询速度非常快,二分查找。
7.set 集合

交集,并集,差集...

分别举例

int整形

i = 4
#转化成二进制的最小位数
print(i.bit_length())
'''
1 0000 0001
1 0000 0010
3 0000 0011
4 0000 0100
'''

执行输出: 3

str 这里就不举了

bool 布尔值

说一下

数据类型转换:
int --> str

n = str(1)

执行输出: 1

int --> bool

n = bool(1)

执行输出: True

str --> bool

n = bool('')

执行输出: False

空字符串是False,其他都是True 

str 字符串索引与切片

先讲索引

字符串是有序的,有索引的,索引从0开始,默认取值是从左至右

s = 'python是最好的语言'
#取第一个字符
s1 = s[0]
#取索引值为2的元素
s2 = s[2]
#最后一个
s3 = s[-1]
print(s1)
print(s2)
print(s3)

执行输出:

p
t

切片

语法:

[起始索引:截止索引:步长]

步长默认为1,表示从头开始取
切片,也就是取连续的多个值
切片原则,顾头不顾尾

什么意思?举例说明

s = 'python是最好的语言'
s1 = s[0:2]
print(s1)

执行输出:

py

先看字符串的索引对应

p  y  t  h  o  n

↓  ↓  ↓  ↓   ↓  ↓

0 1  2  3  4  5

我是取 0~2 的,发现t没有显示出来,因为根据切片原则,末尾的不显示

如果想输出末尾的,需要加1即可。比如s[0:3]

中文字符串也是同样的,一个中文字,即一个索引

s = 'python是最好的语言'
s1 = s[7:9]
print(s1)

执行输出:

最好

全取

s = 'python是最好的语言'
s1 = s[:]
print(s1)

执行输出:

python是最好的语言

切片会产生新的变量,在内存中,原字符串和切片后的字符串,是2个变量
s4 = s[:] 虽然结果是一样的,但它是2个变量

对字符串操作,都会产生新的变量,除了赋值以外。

取最后5个字符串

s = 'python是最好的语言'
s1 = s[-5:]
print(s1)

执行输出:

最好的语言

步长

默认步长为1

隔一个取1个,步长为2

反向取值,也就是从后向前取,步长为-1

隔1个,取一个

s = 'python是最好的语言'
s1 = s[::2]
print(s1)

执行输出:

pto是好语

反向取5个

s = 'python是最好的语言'
s1 = s[:-5:-1]
print(s1)

执行输出:

言语的好

反向全取

s = 'python是最好的语言'
s1 = s[::-1]
print(s1)

执行输出:

言语的好最是nohtyp

字符串常用操作方法

用以下✴表示使用程度

✴✴✴ 非常

✴✴ 常用

✴ 一般

✴✴✴capitalize()  首字母大写,其他字母小写

s = 'laoshi'
s1 = s.capitalize()
print(s1)

执行输出:

Laoshi

✴✴✴upper()  全部大写

✴✴✴lower()  全部小写

s = 'laoshi'
s1 = s.upper()
s2 = s.lower()
print(s1)
print(s2)

执行输出:

LAOSHI
laoshi

比如验证码判断功能

code = 'aeQu'
your_code = input('请输入验证码:')
if your_code == 'aequ' or your_code == 'Aequ'...

如果不使用字符串内置方法,这需要写16个if,代码质量非常low

下面使用字符串内置方法

code = 'aeQu'
your_code = input('请输入验证码:')
if your_code.upper() == code.upper():
print('验证码验证成功')

执行输出:

代码优化一下

code = 'aeQu'.upper()
your_code = input('请输入验证码:').upper()
if your_code == code:
print('验证码验证成功')

执行效果同上

✴center()  居中

s = 'laoshi'
#总宽度为30,并且字符串居中,不足30,默认用空格填充
s1 = s.center(30)
#使用*填充
s2 = s.center(30,'*')
print(s1)
print(s2)

执行输出:

如果宽度小于字符串,按照原来的字符串显示

s = 'laoshi'
s1 = s.center(3)
print(s1)

执行输出:

laoshi

✴✴swapcase() 大小写反转

s = 'LaoShi'
s1 = s.swapcase()
print(s1)

执行输出:

lAOsHI

✴✴title() 每个单词的首字母大写(非字母隔开)

s = 'xiao wusir*nanhai21shui'
s1 = s.title()
print(s1)

执行输出:

Xiao Wusir*Nanhai21Shui

✴✴✴startswith() 判断以什么为开头
✴✴✴endswith() 以什么为结尾

startswith 的start和end参数是切片
如果想取到最后,end参数,不需要指定

s = 'xiao wusir*nanhai21shui'
s1 = s.startswith('a')
s2 = s.endswith('i')
#切片,取索引访问1~4,再判断是否以i开头
s3 = s.startswith('i',1,4)
#切片,取索引范围5~结束,结束位置参数没给,默认一直取到尾
s4 = s.startswith('w',5)
print(s1)
print(s2)
print(s3)
print(s4)

执行输出:

False
True
True
True

✴✴✴strip() 去除首尾的空格,换行符(\n),tab键(4个空格 用\t表示)

s = '\nlaoshi\t '
s1 = s.strip()
print(s1)

执行输出: laoshi

在input程序中,会经常使用

name = input('请输入用户名:')
if name == 'xiao':
print('ok')

如果用户输入的,不小心包含了空格,会导致验证失败

下面加入strip()

即使输入有空格,也可以验证通过

name = input('请输入用户名:').strip()
if name == 'xiao':
print('ok')

执行输出:

后续操作文件读取一行内容的时候,也会带有换行符,虽然你看不见,使用strip(),就可以去除了

类似功能的2个的方法

✴lstrip() 去除左边的空格、换行符、tab键
✴rstrip() 去除右边的空格、换行符、tab键

strip()还可以去除指定的字符串

s = 'laoshijintianzalill'
#去除字符串l
s1 = s.strip('l')
print(s1)

执行输出:

aoshijintianzali

解释一下执行过程

☻→ string ← ☻

strip()相当于 ☻,就像吃豆游戏一样。

strip()会同时向左右2边,挨个挨个字符寻找字符串l 如果发现了l,就去除,如果没有发现,终止寻找,最后输入结果

比如头部的lao  找到了字符串l,开始删除。再继续找下一个字符a,发现不匹配,终止寻找

同时,尾部的lill,找到l,开始删除。继续找下一个,找到l,删除。再继续下一个,发现字符串i,不匹配,终止寻找

最终输出: aoshijintianzali

✴✴✴find() 通过元素找索引

还有一个函数index(),也是同样的功能

不同的是,index()找不到,直接报错

find()找不到时,会返回-1

s = 'xiaoxx'
s1 = s.find('a')
s2 = s.index('a')
print(s1)
print(s2)

执行输出: 2

✴✴✴count() 寻找元素出现的个数,可切片

s = 'xiaomingtongxue'
s1 = s.count('x')
#从第5个索引一直到最后,寻找字符串o出现的次数
s2 = s.count('o',5)
print(s1)
print(s2)

执行输出:

2
1

✴✴✴replace() 替换

s = '我的老家在东北,东北有很多人'
#默认是全文替换
s1 = s.replace('东北','黑龙江')
#替换一次
s2 = s.replace('东北','黑龙江',1)
print(s1)
print(s2)

执行输出:

我的老家在黑龙江,黑龙江有很多人
我的老家在黑龙江,东北有很多人

替换,是从左至右的
如果想要替换中间某部分,需要用到正则表达式

✴✴✴split() 分割,将字符串转换为列表

默认按照空格分隔

s = 'wo zai tai bei'
s1 = s.split()
print(s1)

执行输出:

['wo', 'zai', 'tai', 'bei']

指定分割符

s = 'wo,zai,tai,bei'
s1 = s.split()
print(s1)

执行输出,效果同上

指定字符串a

s = 'awozaiataiabei'
s1 = s.split('a')
print(s1)

执行输出:

['', 'woz', 'i', 't', 'i', 'bei']

注意:如果关键字左边没有字符串,那么结果为[],也就是空字符串
结果不包含关键字,被剔除了

比如面试题:

有下面一段日志,包含了IP地址和时间...需要切割日志

216.244.66.227,[20/Mar/2018:17:03:52 +0800],"Mozilla/5.0"
114.215.45.101,[20/Mar/2018:17:16:30 +0800],"BUbiNG"
106.11.152.107,[20/Mar/2018:17:22:40 +0800],"YisouSpider"

可以用正则表达式,但是比较麻烦,有没有更简单的办法呢?用split(),指定逗号分割,就可以实现

✴✴✴format() 格式化输出

这个很牛逼,一定要重点掌握!

有三种用法:

第一种用法:

s = '我叫{},今年{},爱好{}'.format('MT',18,'打怪')
print(s)

执行输出:

我叫MT,今年18,爱好打怪

{}表示一个占位符

第二种用法:

s = '我叫{0},今年{1},爱好{2},我依然叫{0}'.format('MT',18,'打怪')
print(s)

执行输出:

我叫MT,今年18,爱好打怪,我依然叫MT

比如一篇文章,名字出现了几十次,那么可以直接用个{0}表示
修改format后面的参数,就可以生效了

{0} 表示索引值,如果使用这种方式,索引值必须指定,否则报错

第三种用法: 键值对

s = '我叫{name},今年{age},爱好{hobby}'.format(age=18,name='MT',hobby='打怪')
print(s)

  执行输出:

我叫MT,今年18,爱好打怪

✴isalnum() 字符串由字母或数字组成
✴isalpha() 字符串只能由字母组成
✴✴✴isdigit() 字符串只能由数字组成

name = 'jingsan123'
s1 = name.isalnum()
s2 = name.isalpha()
s3 = name.isdigit()
print(s1)
print(s2)
print(s3)

执行输出:

True
False
False

isdigit()比较常用,比如判断用户输入的,是否是数字。

或者将字符串转换为数字类型时,要判断字符串是否由纯数字组成,否则报错。

name = '123a'
if name.isdigit():
name = int(name)
else:
print('您输入的含有非数字元素')

执行输出:

您输入的含有非数字元素

✴✴✴len() 查看数据的长度

name = 'zhangsan'
print(len(name))

执行输出: 8

二、for循环

先来使用while循环,打印每一个字符串

s = 'abcdef'
count = 0
while count < len(s):
print(s[count])
count += 1

执行输出:

a
b
c
d
e
f

使用for循环完成上面的功能

s = 'abcdef'
for i in s:
print(i)

执行程序,效果同上

for循环和while循环的区别在于
for 循环是有限循环
while 循环是无限循环

有些情况,在不需要终止条件的情况下,使用for循环
有终止条件的,使用while循环

for循环会自动停止

使用for循环实现九九乘法表:

for i in range(1, 10):
for j in range(1, i + 1):
print('{}x{}={}\t'.format(j, i, i * j), end='')
print('\n')

执行输出:

1x1=1	

1x2=2	2x2=4	

1x3=3	2x3=6	3x3=9	

1x4=4	2x4=8	3x4=12	4x4=16	

1x5=5	2x5=10	3x5=15	4x5=20	5x5=25	

1x6=6	2x6=12	3x6=18	4x6=24	5x6=30	6x6=36	

1x7=7	2x7=14	3x7=21	4x7=28	5x7=35	6x7=42	7x7=49	

1x8=8	2x8=16	3x8=24	4x8=32	5x8=40	6x8=48	7x8=56	8x8=64	

1x9=9	2x9=18	3x9=27	4x9=36	5x9=45	6x9=54	7x9=63	8x9=72	9x9=81

今日作业:

1,有变量name = "aleX leNb" 完成如下操作:
1) 移除 name 变量对应的值两边的空格,并输出处理结果
2) 移除name变量左边的'al'并输出处理结果
3) 移除name变量右面的'Nb',并输出处理结果
4) 移除name变量开头的a'与最后的'b',并输出处理结果
5) 判断 name 变量是否以 "al" 开头,并输出结果
6) 判断name变量是否以"Nb"结尾,并输出结果
7) 将 name 变量对应的值中的 所有的"l" 替换为 "p",并输出结果
8) 将name变量对应的值中的第一个'l'替换成'p',并输出结果
9) 将 name 变量对应的值根据 所有的"l" 分割,并输出结果。
10) 将name变量对应的值根据第一个'l'分割,并输出结果。
11) 将 name 变量对应的值变大写,并输出结果
12) 将 name 变量对应的值变小写,并输出结果
13) 将name变量对应的值首字母'a'大写,并输出结果
14) 判断name变量对应的值字母'l'出现几次,并输出结果
15) 如果判断name变量对应的值前四位'l'出现几次,并输出结果
16) 从name变量对应的值中找到'N'对应的索引(如果找不到则报错),并输出结果
17) 从name变量对应的值中找到'N'对应的索引(如果找不到则返回-1)输出结果
18) 从name变量对应的值中找到'X le'对应的索引,并输出结果
19) 请输出 name 变量对应的值的第 2 个字符?
20) 请输出 name 变量对应的值的前 3 个字符?
21) 请输出 name 变量对应的值的后 2 个字符?
22) 请输出 name 变量对应的值中 "e" 所在索引位置?
23)获取子序列,去掉最后一个字符。如: oldboy 则获取 oldbo。 2,有字符串s = '123a4b5c'
1)通过对li列表的切片形成新的字符串s1,s1 = '123'
2)通过对li列表的切片形成新的字符串s2,s2 = 'a4b'
3)通过对li列表的切片形成新的字符串s3,s3 = '1345'
4)通过对li列表的切片形成字符串s4,s4 = '2ab'
5)通过对li列表的切片形成字符串s5,s5 = 'c'
6)通过对li列表的切片形成字符串s6,s6 = 'ba2' 3,使用while和for循环分别打印字符串s='asdfer'中每个元素。
4,实现一个整数加法计算器(两个数相加):
如:content = input('请输入内容:') # 如用户输入:5+9或5+ 9或5 + 9,然后进行分割再进行计算。
5,计算用户输入的内容中有几个整数(以个位数为单位)。
如:content = input('请输入内容:') # 如fhdal234slfh98769fjdla

答案:

1,有变量name = "aleX leNb" 完成如下操作:

...(具体需求看上面作业)

1.1~1.4

name = "aleX leNb"
s1 = name.strip()
s2 = name.lstrip('al')
s3 = name.rstrip('Nb')
s4 = name.lstrip('a').rstrip('b')
print(s1)
print(s2)
print(s3)
print(s4)

执行输出:

aleX leNb
eX leNb
aleX le
leX leN

1.5~1.6

s5 = name.startswith('al')
s6 = name.endswith('Nb')
print(s5)
print(s6)

执行输出:

True
True

1.7~1.8

s7 = name.replace('l','p')
s8 = name.replace('1','p',1)
print(s7)
print(s8)

执行输出:

apeX peNb
aleX leNb

1.9~1.10

s9 = name.split('l')
s10 = name.split('l',1)
print(s9)
print(s10)

执行输出:

['a', 'eX ', 'eNb']
['a', 'eX leNb']

1.11~1.12

s11 = name.upper()
s12 = name.lower()
print(s11)
print(s12)

执行输出:

ALEX LENB
alex lenb

1.13~1.15

s13 = name.capitalize()
s14 = name.count('l')
s15 = name.count('l',4)
print(s13)
print(s14)
print(s15)

执行输出:

Alex lenb
2
1

1.16~1.18

s16 = name.index('N')
s17 = name.find('N')
s18 = name.find('X le')
print(s16)
print(s17)
print(s18)

执行输出:

7
7
3

1.19~1.22

s19 = name[2]
s20 = name[:3]
s21 = name[-2:]
s22 = name.find('e')
s23 = name[:-1:]
print(s19)
print(s20)
print(s21)
print(s22)

执行输出:

e
ale
Nb
2

1.23 获取子序列,去掉最后一个字符。如: oldboy 则获取 oldbo

序列,就表示是一个列表。之序列,表示列表中的一个元素。

字符串转换为列表,有种方法:

1.直接使用list 强制转换。比如

name = "oldboay"
s1 = list(name)

2.使用split切割成字符串

题目表示需要去掉最后一个字符,并获取之序列,那么就需要使用第2种方法

先获取最后一个字符

name = "oldboay"
#获取最后一个字符
s1 = name[-1]
print(s1)

执行输出: y

再使用split指定最后一个字符,进行切割

name = "oldboay"
#使用split对最后一个字符分割
s2 = name.split(name[-1])
print(s2)

执行输出:

['oldboa', '']

最后取第一个元素,最终代码如下:

name = "oldboay"
#使用split对最后一个字符分割,并取第一个元素
s3 = name.split(name[-1])[0]
print(s3)

执行输出:

oldboa

2,有字符串s = '123a4b5c'

...(具体需求看上面作业)

s = '123a4b5c'
s1 = s[0:3]
s2 = s[3:6]
s3 = s[0]+s[2]+s[4]+s[6]
s4 = s[1]+s[3]+s[5]
s5 = s[-1]
s6 = s[5]+s[3]+s[1]
print(s1)
print(s2)
print(s3)
print(s4)
print(s5)
print(s6)

执行输出:

123
a4b
1345
2ab
c
ba2

3,使用while和for循环分别打印字符串s='asdfer'中每个元素。

s = 'asdfer'
count = 0
while count < len(s):
print(s[count])
count += 1

执行输出:

a
s
d
f
e
r

4,实现一个整数加法计算器(两个数相加):
如:content = input('请输入内容:') # 如用户输入:5+9或5+ 9或5 + 9,然后进行分割再进行计算。

先定义一个变量表示用户输入的内容,使用split()分割,指定+为分隔符

content = '5+9'
num = content.split('+')
for i in num:
print(i)

执行输出:

5
9

再定义一个变量计算总和

content = '5+9'
the_sum = 0
num = content.split('+')
for i in num:
the_sum += i

执行报错

TypeError: unsupported operand type(s) for +=: 'int' and 'str'

为什么呢?因为split分割出来的是字符串,需要转换一下。

content = '5+9'
the_sum = 0
num = content.split('+')
for i in num:
the_sum += int(i) print(the_sum)

执行输出: 14

5+9是连续一起的,如果是5 + 9 呢?分割的时候,会有空格,使用strip()方法,就可以去除

content = '5 + 9'
the_sum = 0
num = content.split('+')
for i in num:
the_sum += int(i.strip()) print(the_sum)

执行输出: 14

最后再把content 换成input(),终极代码如下:

content = input('请输入内容:').strip()
the_sum = 0
num = content.split('+')
for i in num:
the_sum += int(i.strip()) print(the_sum)

执行输出:

5,计算用户输入的内容中有几个整数(以个位数为单位)。
如:content = input('请输入内容:') # 如fhdal234slfh98769fjdla

先把字符串,一个个打印出来

content = 'fhdal234slfh98769fjdla'
the_sum = 1
for i in content:
print(i)

再定义变量the_sum计算总数,使用isdigit()方法判断是否为数字,如果是,总数加1

content = 'fhdal234slfh98769fjdla'
the_sum = 0
for i in content:
#print(i)
if i.isdigit():
the_sum += 1 print(the_sum)

执行输出: 8

最终代码如下:

content = input('请输入内容:').strip()
the_sum = 0
for i in content:
if i.isdigit():
the_sum += 1 print(the_sum)

执行输出:

请注意:234前面的字符串是字母l,而不是数字1

明日默写内容:
分别用while,for循环输出字符串s = input('你想输入的内容')的每一个字符。

while方式

s = input('请输入你想的内容:')
count = 0
while count < len(s):
print(s[count])
count += 1

执行输出:

for方式

s = input('请输入你想的内容:')
for i in s:
print(i)

执行程序,效果同上

python 全栈开发,Day3(正式)的更多相关文章

  1. Python全栈开发day3

    1.Pycharm使用介绍 1.1 新建py文件自动添加python和编码 1.2 更改pycharm默认字体和风格 点击左上角“file”-->“Settings”(或者用“Ctrl+Alt+ ...

  2. python全栈开发-Day3 字符串

    python全栈开发-Day3 字符串 一.按照以下几个点展开字符串的学习  #一:基本使用 1. 用途 #首先字符串主要作用途径:名字,性别,国籍,地址等描述信息2.定义方式 在单引号\双引号\三引 ...

  3. Python全栈开发【面向对象进阶】

    Python全栈开发[面向对象进阶] 本节内容: isinstance(obj,cls)和issubclass(sub,super) 反射 __setattr__,__delattr__,__geta ...

  4. Python全栈开发【面向对象】

    Python全栈开发[面向对象] 本节内容: 三大编程范式 面向对象设计与面向对象编程 类和对象 静态属性.类方法.静态方法 类组合 继承 多态 封装 三大编程范式 三大编程范式: 1.面向过程编程 ...

  5. Python全栈开发【模块】

    Python全栈开发[模块] 本节内容: 模块介绍 time random os sys json & picle shelve XML hashlib ConfigParser loggin ...

  6. Python全栈开发【基础四】

    Python全栈开发[基础四] 本节内容: 匿名函数(lambda) 函数式编程(map,filter,reduce) 文件处理 迭代器 三元表达式 列表解析与生成器表达式 生成器 匿名函数 lamb ...

  7. Python全栈开发【基础三】

    Python全栈开发[基础三]  本节内容: 函数(全局与局部变量) 递归 内置函数 函数 一.定义和使用 函数最重要的是减少代码的重用性和增强代码可读性 def 函数名(参数): ... 函数体 . ...

  8. Python全栈开发【基础二】

    Python全栈开发[基础二] 本节内容: Python 运算符(算术运算.比较运算.赋值运算.逻辑运算.成员运算) 基本数据类型(数字.布尔值.字符串.列表.元组.字典) 其他(编码,range,f ...

  9. Python全栈开发【基础一】

    Python全栈开发[第一篇] 本节内容: Python 的种类 Python 的环境 Python 入门(解释器.编码.变量.input输入.if流程控制与缩进.while循环) if流程控制与wh ...

  10. python 全栈开发之路 day1

    python 全栈开发之路 day1   本节内容 计算机发展介绍 计算机硬件组成 计算机基本原理 计算机 计算机(computer)俗称电脑,是一种用于高速计算的电子计算机器,可以进行数值计算,又可 ...

随机推荐

  1. xBIM WeXplorer 设置模型颜色

    目录 基础 xBIM WeXplorer 简要介绍 xBIM WeXplorer xViewer 基本应用 xBIM WeXplorer xViewer 浏览器检查 xBIM WeXplorer xV ...

  2. Qt 动态加载DLL 常见错误有哪些?

    1. dll 路径不对,比如 IE 中 2. 依赖库缺失,会报错找不到指定模块 注意: qt 的 qlibrary 只能加载 标准 C 函数

  3. lower_bound()返回值

    lower_bound()函数实现功能就是二分查找,函数lower_bound()在first和last中的前闭后开区间进行二分查找,返回大于或等于val的第一个元素位置.如果所有元素都小于val,则 ...

  4. 聊聊JavaScript-闭包

    今天聊聊闭包,网上五花八门的定义和解释很多很多,是不是搞得你很懵逼:每次看闭包,都不同,本来自己懂,看完别人的之后就开始怀疑自己了.在我看来,闭包简单的说就是函数里面套函数,再往大了说就是我函数外面想 ...

  5. 在SpringBoot中存放session到Redis

    前言 今天你们将再一次领略到SpringBoot的开发到底有多快,以及SpringBoot的思想(默认配置) 我们将使用redis存放用户的session,用户session存放策略有很多,有存放到内 ...

  6. Json序列化、反序列化

    引用 using Newtonsoft.Json; using Newtonsoft.Json.Converters; 把Json字符串反序列化为对象 1.目标对象 = JavaScriptConve ...

  7. MacOS App代码申请管理员权限

    原文: https://jacobpan3g.github.io/cn/2018/02/07/gain-root-permission-for-mac-app/,有问题欢迎在原文评论区一起讨论交流,我 ...

  8. 如何利用JavaScript遍历JSON数组

    1.设计源码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www. ...

  9. .Net 4.X 提前用上 .Net Core 的配置模式以及热重载配置

    1. 前言 在提倡微服务及 Serverless 越来越普及的当下,在 .Net Core 之前,.Net 应用的配置模式往往依赖于一个名为 web.config 的 XML 文件,耦合性高,而可扩展 ...

  10. 最新数组方法(包括es6)

    整理目前所用过的数组方法,学习了新增的es6方法. 1 arr.push() 从后面添加元素,返回值为添加完后的数组的长度 let arr = [1,2,3,4,5] console.log(arr. ...