目录
for of使用
let a = [
{
id: 1
},
{
id: 2
}
]
for (let item of a) {
console.log(item.id)
}
/* 结果
{ id: 1 }
{ id: 2 }
*/
for of遍历数组可以得到里边的每一项
之前项目通过循环数组,判断id是否相等,使变量进行一个赋值
{}的使用
let user = {
status: 200,
data: [
{
id: i,
name: 'jack'
}
]
}
let { status, data } = user
status,data就对应user里面的值
{ } 就相当于一层解构
for in使用
let a = [
{
id: 1
},
{
id: 2
}
]
for (let i in a) {
console.log(i)
}
/*
结果
0
1
*/
for in 中i表示索引
随机文字
const list = [
'噫吁嚱,危乎高哉!蜀道之难,难于上青天!',
'蚕丛及鱼凫,开国何茫然',
'尔来四万八千岁,不与秦塞通人烟',
'西当太白有鸟道,可以横绝峨眉巅',
'地崩山摧壮士死,然后天梯石栈相钩连',
'上有六龙回日之高标,下有冲波逆折之回川',
'黄鹤之飞尚不得过,猿猱欲度愁攀援',
'青泥何盘盘,百步九折萦岩峦',
'扪参历井仰胁息,以手抚膺坐长叹。',
'问君西游何时还?畏途巉岩不可攀',
'但见悲鸟号古木,雄飞雌从绕林间。',
'又闻子规啼夜月,愁空山。']
var index = parseInt(Math.random() * 12)
list[index]
判断一个变量是否是当前类型
constructor的运用
var a = new String('sss')
if (a.constructor == String) {
console.log(' is string')
}
可以判断a是字符串string,打印 is string ,仅了解扩充知识供。
例题
1.求100~999的水仙花数
var list = []
for (var i = 100; i <= 999; i++){
var n = i
var s = i + ''
var one = s.slice(0,1)
var two = s.slice(1,2)
var three = s.slice(2, 3)
one = parseInt(one)
two = parseInt(two)
three = parseInt(three)
if (one * one * one + two * two * two + three * three * three == i) {
list.push(i)
}
}
console.log(list)
//[ 153, 370, 371, 407 ]
首先获得百位,十位和个位 的数字,先把数字转化为字符串,然后提取每位,然后在转化数字然后通过153=1*1*1+5*5*5+3*3*3相等,追加到上边的数组中。