js的常用方法

该代码段展示了JavaScript中处理数组和字符串的一些常见方法,包括检查数组元素是否全相同、将数组转换为字符串、截取字符串、替换特定字符、识别数据类型、检测空对象、数组去重以及计算数组中特定字段的总和。
摘要由CSDN通过智能技术生成
<template>
	<div>
		
	</div>
</template>
<script>
	export default {
		data() {
			return {
				
			}
		},
		mounted() {
		    //(1)判断数组每个值都相同
			let list6 = [123,'123'];
			let type = false;
			type = this.isAllSameValue(list6);

			// (2)toString/join 把数组转为字符串,toString是逗号隔开,join是任意规定字符隔开
			let list = [{name:'小明',age:22},{name:'小花',age:24},{name:'小天',age:26}];
			let arr = list.map(item=> item.name).toString();
			let arr2 = list.map(item=> item.name).join('-');
			// console.log('====>',arr)
			// console.log('---->',arr2)
			
			//(3)截取
			let str = '001(abcde)-)h)';
			let num = null;
			if(str.indexOf('(') == -1){
				num = str;
			}else{
				//括号里面的值 
				//abcde)-)h
				// console.log(str.slice(str.indexOf('(')+1,str.lastIndexOf(')')));
				//abcde
				// console.log(str.slice(str.indexOf('(')+1,str.indexOf(')')));
				//括号外边的值
				num = str.substr(0,str.indexOf('('));  
			}
			// console.log('num===',num)
			
			//(4)替换: 所有中文括号换成英文括号
			let str3 = '002(acb(ghk(H)';
			str3 = str3.replace(//g,'('); 
			// console.log(str3)
			
			//(5)返回数据类型
			let type = Object.prototype.toString.call(true);
			// console.log('type---->',type)
			
			//(6)判断空对象: Object.keys()  或者 Object.getOwnPropertyNames() 的length是否为0
			let obj = {};
			let res = Object.keys(obj).length;
			console.log('---->',res)
			let res2 = Object.getOwnPropertyNames(obj).length;
			console.log('====>',res2)
			
			//(7)数组去重
			let list2 = ['abc','abc','dfg','1111111']
			// console.log(...new Set(list2))
			let list3 = [{age:22},{age:23},{age:24},{age:22}]
			// console.log(this.filterArr(list3,'age'));
			
			//(8)小数的精确度
			let num2 = 0.07
			// console.log(0.07*100)  //7.000000000000001
			
			//先扩大10倍,缩小10倍后,再进行正常运算
			// console.log(0.07*10/10)*100
			
			//(9)求数组中某些字段的和
			const arr2 = [1, 2, 3, 4, 5];
			const arr3 = [{num:1,id:1},{num:2,id:2},{num:3,id:3},{num:10,id:4},{num:4,id:5}]
			const sum = arr3.reduce((pre, cur) => {
			  return pre + cur.num
			}, 0);
			//0表示初始值
			const sum2 = arr2.reduce((pre, cur) => {
			  return pre + cur
			});
			// console.log('sum---->',sum,sum2);
		},
		methods: {
			//判断数组中每个值都一样
			isAllSameValue(array) {
				if(array.length > 0) {
				    return !array.some((item, index)=> {
					   return item != array[0];		   //数值	
					   // return item !== array[0];    //数组及类型判断
				    });
			    }else{
				  return true;
			    }
			},
			
			filterArr(arr, type) {
			  type = type ? type : 'id'
			  let newArr = [];
			  let obj = {};
			  for (var i = 0; i < arr.length; i++) {
			    if (!obj[arr[i][type]]) {
			      newArr.push(arr[i]);
			      obj[arr[i][type]] = true;
			    }
			  }
			  return newArr;
			}
		}
	}
</script>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值