js小白操作:判断空值、判断数组最大最小值、判断map是否为空、字符串转int、取float型小数点后两位数、判断数组中是否包含某个对象

js小白操作:判断空值、判断数组最大最小值、判断map为空的情况、字符串转int

  • Js基础操作
  • 一、判断空值 undefined 和 null
  • 二、判断map是否为空
  • 三、取数组最大最小值
    • 1.使用 Math 中的 max/min 方法
    • 2.使用ES6的扩展运算符
  • 四、字符串转数字
    • 1.采用 parseInt()方法
    • 2.强制转换
  • 五、取float型小数点后两位数
  • 六、判断数组中是否包含某个对象
  • 总结


Js基础操作

项目要求开发一个微信小程序,我负责前端工作,这才开始真正接触前端语言。目前小程序已完成,决定从头梳理一些前端内容。本篇就从js语言基础的小trick开始~。


一、判断空值 undefined 和 null

js中使用typeof判断值的类型。

判断数据类型是否为undefined:

判断undefine时需要加上引号

var exp = undefined;
if (typeof(exp) === "undefined")
{
     
	console.log("undefined");
}
// typeof后可以不跟括号

判断数据类型是否为null:
使用非其他类型来判断

var exp = null; 
if (!exp && typeof(exp)!==”undefined” && exp!==0) 
{
      
	console.log(“is null); 
}

直接判断

var exp = null;
if (exp === null)
{
     
	console.log("is null");
}

二、判断map是否为空

直接使用长度来判断,数组同理:

let map = {
     };
Object.keys(map).length === 0

三、取数组最大最小值

1.使用 Math 中的 max/min 方法

可以使用apply来实现。apply传入的是数组。

var arr = [22,13,6,55,30];
var max = Math.max.apply(null, arr);
var min = Math.min.apply(null, arr);
console.log(max, min) // 55,6

2.使用ES6的扩展运算符

var arr = [22,13,6,55,30]; 
console.log(Math.max(...arr));// 55

四、字符串转数字

1.采用 parseInt()方法

字符串可以采用 parseInt()方法来转换为数字。

string_type_number = "1"
console.log(typeof string_type_number) // string
int_type_number = parseInt(string_type_number)
console.log(typeof int_type_number) // number

2.强制转换

也可采用的用字符串乘以数字1来强制转换。

int_type_number = int_type_number * 1

注:使用此方法即使空字符串也会输出0

console.log(""*1) // 0

五、取float型小数点后两位数

想要四舍五入取float型数值的小数点后两位数,直接使用toFixed()函数即可。

// 我的使用场景:knowledgeMap[knows[i]]是float类型的小数,我需要转为百分比
// knowledgeMap[knows[i]]:0.0723458943
 (knowledgeMap[knows[i]] * 100).toFixed(2) + "%" // 7.23%

此方法会出现js精度丢失等问题,对精度要求严格的小伙伴直接使用toFixed会出现问题

六、判断数组中是否包含某个对象

// 不存在返回-1,存在返回该元素在数组中的位置索引
let index = JSON.stringify(object).indexOf(JSON.stringify(obj1)) 

总结

以上几种都是很基本的js操作,但因为我是js小白,在做项目的时候有些细节还是不太明白,就总结了一下我卡壳的地方。希望对同是小白的朋友有所帮助~

你可能感兴趣的:(微信小程序前端那点事,js,字符串,es6,前端,小程序)