【js】js随笔
JS 数组
通过数组下标获取数组
arr[0]
数组长度
arr.length
for…of循环(ES6)
for (element of iterable) {
console.log(element);
}
数组遍历
原数据:
res = [
{
id:1,
name:‘西安’,
address:‘西部’
},
{
id:2,
name:‘扬州’,
address:‘南部’
}
]
需求一:
结果:
res = [1,2]
代码:
var result = []
res.forEach(item => {
result.push(
item.id
)
})
需求二:
结果:
res = [
{
id:1,
name:‘西安’
},
{
id:2,
name:‘扬州’
}
方法一:
const ary = res.map((item) => {
return {
id:item.id,
name:item.name
}
})
方法二:
res.forEach(item => {
ary.push({
id: item.id,
name: item.name
})
})
字符串
split
str.split(",")
JS一些常用方法
JS数字转字符串的方法(number to string)
- 括号先计算再转换
(10).toString();
- 加空串
10 + ''
push()
push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。
arrayObject.push(newelement1,newelement2,....,newelementX)
参数 | 描述 |
---|---|
newelement1 | 必需。要添加到数组的第一个元素。 |
newelement2 | 可选。要添加到数组的第二个元素。 |
newelementX | 可选。可添加多个元素。 |
返回值
把指定的值添加到数组后的新长度。
shift()
定义和用法
shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值。
语法
arrayObject.shift()
返回值
数组原来的第一个元素的值。
说明
如果数组是空的,那么 shift() 方法将不进行任何操作,返回 undefined 值。请注意,该方法不创建新数组,而是直接修改原有的 arrayObject。
unshift()
定义和用法
unshift() 方法可向数组的开头添加一个或更多元素,并返回新的长度。
语法
arrayObject.unshift(newelement1,newelement2,....,newelementX)
参数 描述
newelement1 必需。向数组添加的第一个元素。
newelement2 可选。向数组添加的第二个元素。
newelementX 可选。可添加若干个元素。
返回值
arrayObject 的新长度。
说明
unshift() 方法将把它的参数插入 arrayObject 的头部,并将已经存在的元素顺次地移到较高的下标处,以便留出空间。该方法的第一个参数将成为数组的新元素 0,如果还有第二个参数,它将成为新的元素 1,以此类推。
请注意,unshift() 方法不创建新的创建,而是直接修改原有的数组。
Math 对象方法:
Math.ceil(); //向上取整。
Math.floor(); //向下取整。
Math.round(); //四舍五入。
Math.random(); //0.0 ~ 1.0 之间的一个伪随机数。【包含0不包含1】 //比如0.8647578968666494
案例:
Math.ceil(Math.random()*10); // 获取从1到10的随机整数 ,取0的概率极小。
Math.round(Math.random()); //可均衡获取0到1的随机整数。
Math.floor(Math.random()*10); //可均衡获取0到9的随机整数。
Math.round(Math.random()*10); //基本均衡获取0到10的随机整数,其中获取最小值0和最大值10的几率少一半。
Math.round(10.11 ,2);
//因为结果在0~0.4 为0,0.5到1.4为1 ... 8.5到9.4为9,9.5到9.9为10。所以头尾的分布区间只有其他数字的一半。
生成[n,m]的随机整数的函数
//生成从minNum到maxNum的随机数
function randomNum(minNum, maxNum) {
switch (arguments.length) {
case 1:
return parseInt(Math.random() * minNum + 1, 10);
break;
case 2:
return parseInt(Math.random() * ( maxNum - minNum + 1 ) + minNum, 10);
//或者 Math.floor(Math.random()*( maxNum - minNum + 1 ) + minNum );
break;
default:
return 0;
break;
}
}
Math.random() 生成 [0,1) 的数,所以 Math.random()*5 生成 {0,5) 的数。
parseInt() 可以简单理解成返回舍去参数的小数部分后的整数,所以 parseInt(Math.random()*5) 生成的是 [0,4] 的随机整数。