JavaScript 构造函数&&数据常用函数

创建对象三种方式

new Object({ name: 'tom' })

const o = { name: 'tom' }

构造函数

find()和findIndex()

  1. find()得到的是一个对象

  2. findIndex() 根据条件查找元素对应的下标

 

Object.keys ( )和Object.values( ),.Object.assgin

Object.keys(参数):获取参数中所有属性的属性名,返回一个新数组;

Object.values(参数):获取参数中所有属性的属性值,返回一个新数组

Object.assgin(obj2,obj1)对象拷贝,把obj1里面的数据,拷贝到obj2里面

 

 

toFixed方法保留有几位的有效数字(四舍五入)

  // 1.数字类型的api, 常用的只有一个 保留几位有效数字;(四舍五入)
        let num = 11.12345678;
        console.log(num.toFixed(2));//输出的是11.12
        console.log(num.toFixed(4));// 输出的是11.1235
        
        // 整数保留有效数字,就是用0补位;
        let num2 = 12;
        console.log(num2.toFixed(2)); //输出的是12.00

字符串API

<script>
        // 1.已经用过的字符串API;
        //    length: 长度;
        //    replace(): 替换;

        // 2.没有用过的字符串API;
        //   split(); 切割字符串为数组;
        //   slice(); 截取字符串;
        //   includes();  是否包含某个字符串;
        //   indexOf(); 查找某个字符串的索引值;

        // 3.下面方法,可以参考MDN自学;
        //   (未讲)match(); 查找字符串用于正则匹配;
        //   (未讲)toUpperCase(); 转换为大写;
        //   (未讲)toLowerCase(); 转换为小写;
        //   (未讲)startsWith(); 是否是...为开头;
        //   (未讲)endsWith(); 是否是...为结尾;

        console.log('ab|cd|e'.split('|')); // 用...切割字符串;
        console.log('abcdefg'.split('x')); // 字符串中不包含,就会把整个字符串放入数组
        console.log('abcdefg'.slice(2, 5)); // 截取字符串, 包左不包右
        console.log('abcdefg'.slice(2)); // 一个参数就是截取到最末尾
        console.log('abcdefg'.includes('bcd')); // 包含返回true,不包含返回false
        console.log('abcdefg'.indexOf('de')); // 返回首字符对应的索引值
        console.log('abcdefg'.indexOf('df')); // 没有,或者不完整包含返回 -1

 

伪数组转换为真数组

  <script>
        // 伪数组没有办法调用数组的所有方法: join()/filter()/map()/find()...
        //     有一些伪数组也会添加 forEach(),但是不添加所有数组方法;

        let lis = document.querySelectorAll('li');

        // 1. Array.from();  伪数组转换为,真正的数组;(静态成员)
        console.log(lis);
        let arr = Array.from(lis);
        console.log(arr);
        
        // 2. 可以使用 ... 展开运算符
        let arr2 = [...lis]
        console.log(arr2);
        
    </script>

reduce方法介绍(一般用于累加)

//
一般用于累加
 let arr = [111, 222, 333]
2.reduce(); 可以化繁为简; (一般都是累加)
        //   如果回掉函数后面没有传递参数,那么就会把数组中的第一项赋值给 previousValue
        //   如果回掉函数后面有传递参数,那么就会把这个值赋值给 previousValue
        // 后面每遍历一次,就会把函数的返回值赋值给 previousValue;
        let num = arr.reduce(function (previousValue, e, i, a) {
            console.log(previousValue);
            // console.log(e, i, a);
            return 123;
        }, 0);
        // reduce()的返回值,就是所有循环执行完毕后的 previousValue;
        console.log(num);
            
        // 总结: 这个方法用的最多的功能,就是累加和;
        let total = arr.reduce(function (p, e, i, a) {
            return p + e;
        });
        console.log(total);

 

toFixed保留有效数字

//
 一般用于渲染出 商品价格

数字类型api,常用的只有一个 保留几位有效数字(四舍五入)
    let num = 11.12346789;
    console.log(num.toFixed(6));//11.123468
    console.log(num.toFixed(2));// 11.12

    let num3 = 11.999;
    console.log(num.toFixed(2));// 12
    //整数保留有效数字,就是用0补位

    let num2 = 12;
    console.log(num2.toFixed(3)); 12.000
    

split()切割字符串为数组

console.log('ab|cd|e'.split('|')); // 用...切割字符串;

console.log('abcdefg'.split('x')); // 字符串中不包含,就会把整个字符串放入数组

 

filter过滤方法和forEach循环方法

// 1.filter()是数组的一个过滤元素的方法;
        //   不会影响原数组,会返回一个新数组;  
        //   参数, 类比map方法
        let arr = [10, 20, 30, 40, 50]
        // 遍历数中的每一项,返回值如果是true,就放入新数组,并返回;
        let newArr = arr.filter((ele, i, array) => {
            // console.log(ele, i, array);
            // 通用方法
            // if (ele > 20) {
            //     return true;
            // } else {
            //     return false
            // }
            // 优化
            return ele > 20;
        });
        console.log(newArr);
        
        // 2.forEach() 类似for循环; 没有返回值;
        let a = arr.forEach((ele, i, array) => {
            // console.log(ele, i, array);
            return true;
        });
        console.log(a);

 

  1. filter() 过渡函数方法用于把Array中的某些元素过滤掉,然后返回剩下的未被过滤掉的元素。

  1. forEach() 方法用于调用数组的每个元素,并将元素传递给回调函数。forEach()在渲染页面时候需要建立一个空的字符串let str='',用forEach() 渲染出来后需要 str +=渲染出来的页面

注意: forEach() 对于空数组是不会执行回调函数的。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值