7.23
1,计算给定数组arr中所有元素的总和,数组中的元素均为Number 类型。例如:[1,2,3,4]--->10
2.找出元素在给定数组arr中的位置,如果存在返回数组位置,否则返回-1.例如:[1,2,3,4]输入3-->2
3.移除数组arr中所有与输入元素相同的的数值,直接修改arr,结果返回新数组。例如:[1,2,3,4,2]输入2-->[1,3,4]
4.移除数组arr中所有与输入元素相同的的数值,不直接修改arr,结果返回新数组。例如:[1,2,3,4,2]输入2-->[1,3,4]
7.24
1.在数组arr末尾添加元素,不要直接修改数组,返回新的数组。例如:[1,2,3,4]输入10-->[1,2,3,4,10]
2.删除数组arr最后一个元素,不要直接修改数组arr,结果返回新的数组。例如:[1,2,3,4]-->[1,2,3]
3.在数组arr开头添加新元素,不要直接修改数组,结果返回新数组,例如:[1,2,3,4],输出10-->[10,1,2,3,4]
还有arr.unshift();方法:
4.在数组arr开头删除新元素,不要直接修改数组,结果返回新数组,例如:[10,1,2,3,4],输出10-->[1,2,3,4]
还有unshift()方法:
7.25
1.构造一个函数`func(arr,x)`,**使用`sort()`函数**将给定的数组`arr`**随机排序**,
并打印出该数组,以及变量`x`在该数组中的下标
- 例如: func([1,2,3,4,5,6],5)
- 输出:
arr : [1,4,5,3,2,6] (随机排序)
index :2
方法一:
方法二:
方法三:
2.构造一个函数`func(arr)`,`str1`与`str2`都是字符串,
**使用forEach()函数**比较两个字符串,如果`str1`包含了`str2`中的所有字符,
函数返回`true`,否则返回`false`
- 例如:
func(["hello","hey"])//false,没有y
func(["Mary","Army"])//true
3.构造一个函数`func(arr,num)`,**使用`sort()`,`slice()`,`push()`**,将`arr`
分成`num`大小的数组,将每一个小数组升序排序后放入同一个数组返回
- 例如:
func([1,5,4,2,3,8,7],2)
输出:
[[1,5],[2,4],[3,8],[7]]
- 例如:
func([1,5,4,2,3,8,7],3)
输出:
[[1,4,5],[2,3,8],[7]]
(1)数组.slice(参数1,参数2)功能:从参数1开始分割数组,到参数2结束;
(2)数组.sort(参数),参数为函数名,若没有参数,则按字母顺序排序,此时这个需要按数字大小排序,若无参数,则乱排;
函数:sortNumber()返回两个数相减的值;
其中,哎呀,记住这个结论好了:
从小到大排:参数1-参数2(a-b);
从大到小排:参数2-参数1(b-a)。
4.构造一个函数`func(str1,str2)`,**使用`substr()`方法**,判断`str1`是否以
`str2`结尾,返回`true`或`false`
- 例如:
func('an apple','apple')//true
func('not an apple','le')//true
(1)字符串.substr(参数1,参数2)和数组.slice(参数1,参数2)功能一样,只不过一个分割字符串一个分割数组;
(2)字符串.length和数组.length,返回的都是数组元素数量和字符串实际个数,而不是他们的下标长度,例如:
(3)定义一个变量,就像上面的: var c=str1.substr((a-b));console.log(c);
不能为了把它变成字符串而这样定义: var c=‘str1.substr((a-b));console.log(c)’;否则,他将返回c的值为:
str1.substr((a-b)),与本意不同。
5.构造一个函数`func(str)`,将该字符串倒置并返回
- 例如:
func('asdfgh')//hgfdsa
func('apple')//elppa
方法一:
(1).字符串长度也是可以用字符串名.length表示滴;
(2).字符串名.charAt(index),index表示下标,(就是按照下标号来访问字符串内容),返回的是字符串值。
(ps:index:下标,索引);哈哈哈,学个单词;
方法二:(将字符串转化为数组操作)
(1).字符串.split(‘参数1’,参数2);作用:将字符串变为数组。参数1:以引号里面的作为分割点,参数2:分割几个点;
(2).数组.reverse();将数组倒置;
(3).数组.join(‘参数’);将数组变为字符串,并以参数(任意符号)连接起来。
字符串.split()和数组.join()刚好互相相反使用;
7.26
1.打平嵌套数组 [1, [2, [3], 4], 5] => [1, 2, 3, 4, 5]
方法一:
第一步:先转换为字符串,(去掉中间的[和]);
第二步:再用.split()方法转换为字符串数组;
第三步:再用parsetInt(),将数组元素一个个转化为数字。
方法二:
正则表达式:/内容/
\b:数字
\w:字母
\s:空格或tab键
+:至少一个字符
?:0个或1个字符
*:任意个字符(包括0)
.:任意字符
{n}:n个字符
{n-m}:n到m个字符
[ ]:表示范围
^/ /:表示以什么开头
/ /$:表示以什么结尾
a|b:表示匹配a或b
2.用js实现随机选取10~100之间的10个数字,存入一个数组,并排序。
(1)Math.floor(Math.random()*90)+10:产生0-1得数,给他乘以你要得数范围的差(比如在这里100-10),再加上开始的书数(比如这里的10);
(2)问题,怎样用循环保存下来,目前没有弄出来,不太对劲(-、_ -、)
3 .寻找两个有序数组最小相同元素
a = [1, 2, 5, 9, 10]
b = [3, 4, 6, 9, 10]
设置变量k的原因是只输出最小的数
4.选择题
1>
(true+false) >2+true;
执行代码该代码的结果是
A.True B.false C.TypeError D.NaN
这行代码相当于:(true+false) >(2+true);,也就是说+优先于>,即使后面不加括号也是(1)>(3)这样算的滴
2>执行如下代码:
function aaa(){
return
{
test:1;
};
}
alert(typeof aaa());
A.Function B.object C.number D.undefined
这个代码相当于没有中间的{text:1;},因为return后面会自动加分号,结束,{}里面永远不执行,返回空时,函数为undefined;
3>执行如下代码:
function bar(){
return foo;
foo=10;
function foo(){}
var foo="11";
}
alert(typeof bar());
A.number B.function C.undefined D.string E.Error
编译器会率先读取函数声明,并使其在执行代码之前可以访问,假若,下面没有函数foo,则这里返回undefined,因为直接return,编译器读不到下面的foo=10和,var foo= ‘11‘
字符串方法
1.
2.
3.字符串位置方法
indexOf(参1,参2):参1是元素,参2是从什么地方开始遍历。从前往后;
lastindexOf:从后往前。
4.
5.大小写转换:
toLocaleUpperCase()
ttoLocaleLowerCase()
这两个针对地区
toUpperCase()
toLowerCase()
6。字符串模式匹配
replace第二个参数还可以是函数----?
还有splice()方法。
7.localeCompare(),比较字符串
8.将编码转化为字符串,与charCodeAt()想反
9.HTML方法------尽量不使用。