数组的一些操作
const arr = [
{label: '苹果11', type: 1},
{label: '苹果12', type: 1},
{label: '华为P20', type: 2},
{label: '华为P50', type: 2},
{label: '华为P50Pro', type: 2},
{label: '小米12', type: 3},
{label: '小米10', type: 3},
]
find() 方法返回数组中满足提供的测试函数的第一个元素的值。否则返回 undefined。
console.log(arr.find((v) => v.type === 1)); // {label: '苹果11', type: 1} // 找到第一个匹配到的内容并返回
console.log(arr.find((v) => v.type === 1).label); // 苹果11
findIndex() 方法返回数组中满足提供的测试函数的第一个元素的索引。若没有找到对应元素则返回-1。
console.log(arr.findIndex((v) => v.type === 3)) // 5
对象的一些操作
判断该字符串是否为"{}"
var data = {};
// 1、将json对象转化为json字符串,再判断该字符串是否为"{}"
JSON.stringify(data) == "{}") // true
// 2、Object.getOwnPropertyNames() 此⽅法是使⽤Object对象的getOwnPropertyNames⽅法,获取到对象中的属性名,存到⼀个数组中,返回数组对象,我们可以通过判断数组的length来判断此对象是否为空
var arr = Object.getOwnPropertyNames(data)
arr.length == 0 //true
3、ES6的Object.keys()⽅法
var arr = Object.keys(data)
arr.length == 0 //true
for
for(var i = 0; i< 10; i++) {
console.log(i)
}
for in
for in 语句用于循环对象属性。
循环中的代码每执行一次,就会对数组的元素或者对象的属性进行一次操作。
var a=[3,4,5,7];
for(var test in a){
document.write(test ": " a[test] "");
}
var person = {fname:"John", lname:"Doe", age:25};
var text = "";
var x;
for (x in person) {
text += person[x];
}
// text // John Doe 25
do while
var i = 0
do {
document.write( i "") i
}while (i <= 5)
// i 等于 0。 循环首先会运行。 每循环一次,i 就会累加 1。 当 i 小于或等于 5 时,循环会继续运行。
while
var j = 0 while ( j<= 5) {
document.write("数字是 " j) document.write("")j
}
// j 等于 0。 当 j 小于或等于 5 时,循环将继续运行。 循环每运行一次,j 会累加 1。
switch
var day=new Date().getDay();
switch (day){
case 0:
x="Today it's Sunday";
break;
case 1:
x="Today it's Monday";
break;
case 2:
x="Today it's Tuesday";
break;
case 3:
x="Today it's Wednesday";
break;
case 4:
x="Today it's Thursday";
break;
case 5:
x="Today it's Friday";
break;
case 6:
x="Today it's Saturday";
break;
}
document.write( x)