javascript 应用(一)foreach

目录

在编程之路上,遇到一个小问题就困扰好久。。

  • 数组,push添加元素的方法
  • 循环遍历,foreach
  • 处理数据:json对象,keys()正向推
    ,item提前设置为[ ]
  • page.evaluate()中传参
  • Promise { pending }报错
  • 控制台调试
一:数组[] :添加元素的方法:
  let data1 = [1,2,3,4,5];
  data1.push(6);
  console.log('数组末尾添加',data1);
  let data2 ={
    'name':123,
    'age':456
  };
  data2.sex = '男';
  console.log('对象添加新属性',data2);

运行结果
在这里插入图片描述

1:区别 对象{ }

  • ==赋值=:只一个对象
  • 添加新属性 obj . key = value ;
  • 判断对象含有某个属性
 let data ={name:'',age:15,children:2};
 if(data.hasOwnProperty('children')){
 console.log("有孩子");
 }

运行结果
在这里插入图片描述

2: 数组[ ]

  • push() : 末尾添加一个对象 ,并操作新数组
  • unshift() : 开始添加一个对象,并操作新数组
  • shift() :取出第一个元素,并操作此元素
  • pop() :取出最后一个元素,并操作此元素
  • splice(): 在任意位置 添加或删除
  • slice() :数组的截取

2.1 :splice()
//(开始位置, 删除的个数,添加元素)

let  number = [0,1,2,3,4,5,6,7];
number.splice(2);                                     //删去:第三个+ 之后的all
let aaa = number.splice(2,1);                         //aaa = 2
number.splice(2,1,"a","b","c");
console.log(number,'\n',number1,'\n',number2);         // 打印的是number

在这里插入图片描述
2.2 数组的截取 slice()

let nums = [0,1,2,3,4,5,6,6,7,"a",9,10,{name:"zaking"},["b","c"]];       
var a = nums.slice(1,5);                           //第一个元素为0, 最后一个元素为-1
console.log(a);//[1, 2, 3, 4]

3:pop()的操作

while(keywords.length>0){                       //循环判断length
   console.log('目前的关键词',keywords);
    let keyword = keywords.pop().toString();     //取出单个元素
  }
        

4:数组去掉重复的值

let list = [2,3,4,2,3,7,8];
let newlist = Array.from(new Set(list));

5:判断某个元素是否在数组内

   console.log(a.indexOf(b));              //在,>-1
   console.log(a.includes(b) === true);    //在,为true

在这里插入图片描述

二:循环遍历每个元素

1: 数组.forEach(函数(item)) 遍历shop单个元素

  let name =[];
  array_all.forEach(function (item) {
    name.push(item['id'])
  })
  console.log('数组所有数据中只取出每个元素的id,放到新数组中',name);

2:数组[ ]或对象{ } 的循环遍历,
asyncforeach (all, 函数async (单个元素){ } )
一定 添加 await


 await asyncForEach(all, async(item,index) =>{
      all.content = item;
      console.log(index);   //  //用来计数
    })

运行结果:
在这里插入图片描述

3: 获得属性值的方法
object . key
object [ ‘key’ ]


三:js处理的是json对象
 let a = JSON.stringify(planData);
 await asyncForEach(a, async(item) => {
    console.log(item);
  })
}

1:JSON.stringify( ) 转换为json对象
JSON.parse() json对象转化为 其它
2:否则,不执行程序

四:数据为{ '1 ':{ }, ' 2':{ }, ' 3':{ }}

处理数据,取出id[1,2,3],遍历id,正向取数据,
不需要转化为json格式,foreach处理

五:提取对象的keys(), values(), 生成新数组[]
  let keys = Object.keys(Data);
  let values = Object.values(Data);
  console.log('对象的属性为:', keys );

在这里插入图片描述
1:返回一个新的列表 [ ]

六:在page.evaluate()中传参
 async ( param )=>{
   await page.evaluate(async ( param ) => {
   console.log('我是参数', param )
   } ,param )
   }
七:报错提醒: Promise { pending }
解决方法:方法前面 添加 await
八:terminal ,控制台调试

1:同时运行多个程序
在这里插入图片描述
2:查询
Ctrl+F 输入单个汉字或英文词

在这里插入图片描述

九:字符串提取数字
parseFloat('110.65平方米') || 0
parseFloat('110.6500000平方米') || 0
parseFloat('-&&&') || 0

11  0

  let a='20200413000000';   //截取日期
  a= a.substr(2,6);
  let b = Math.round(34109.123456);   //四舍五入保留整数
  let c = Math.round(1619.666666);
 var num =2.446242342;
  num = num.toFixed(2);  //四舍五入保留2位小数
  let nval = 0.08643333;
  let d= (Math.round(nval*10000))/100+'%'  //小数转化分数
    let number = 2.21;
    let d= (number/100).toFixed(4);  //小数缩进2位数
    console.log(d);

在这里插入图片描述
在这里插入图片描述

1:随机数

 let num = Math.floor(Math.random()*20)+60;      // 获取60到 80的随机整数。
 console.log(num);
十:js参数注释

/** 点击回车

十一:返回数据处理

1:将字符串的首字母大写,其他字母不变

function firstUpperCase(str) {
  let string = str.substring(0,1).toUpperCase()+str.substring(1);
  return string;
}
十一:字符串的比较
   console.log(a.indexOf(b));         
   console.log('---');
   console.log(a.localeCompare(b));
   console.log(a.includes(b) === true);

在这里插入图片描述
在这里插入图片描述

三目运算符
let shop= '否否否';
let iseffect = shop.includes('是')?111111:222222;
console.log(iseffect);
console.log(typeof (iseffect));

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值