文档章节

js 小技巧

宿管小阿姨
 宿管小阿姨
发布于 2018/09/09 20:06
字数 373
阅读 16
收藏 0

数组对象处理

  • 属性提取、去重
 let arr = [
 	{
		id: 1,
		name: 'aa',
		sex: 'man'
	},
	{
		id: 2,
		name: 'bb',
		sex: 'woman'
	},
	{
		id: 3,
		name: 'cc',
		sex: 'woman
	},
	{
		id: 4,
		name: 'dd',
		sex: 'man'
	}];
	let arr1 = arr.map(v => v.sex).filter((v, i, arr) => arr.indexOf(v) ==== i);
	// arr1 = ['man', 'woman']
  • 生成1-100的数组
	let arr = Array(100).fill(0).map((x, i) => i + 1);
  • 替换属性名
// 后台数据: [{province: '河北省', value:12}, ...];
// 需要的格式(echarts 地图数据格式):[{name: '河北', value: 12}];
// 改字段名
 convertArrJsonName(json: {}[], oldName: string, newName: string = 'name') {
   return JSON.parse(JSON.stringify(json).replace(eval(`/${oldName}/g`), newName));
 }
 // 改省份名
 convertProvinceName(data: {}[]) {
   return JSON.parse(JSON.stringify(data).replace(eval(`/[省|市|自治区|壮族自治区|回族自治区|维吾尔自治区|特别行政区]/g`), ''));

在小程序中貌似不支持eval(),所以把正则提出来

// 改字段名
 convertArrJsonName(json, oldName = 'province', newName = 'name') {
   let reg = new RegExp(oldName, 'ig');
   return JSON.parse(JSON.stringify(json).replace(reg, newName));
 }

变态面试官

+ 读代码
`
	var arr1 = [1,2,3,4,5,6];
	var arr2 = [1,2,3];
	for(var i = 0; i < arr1.length; i++) {
	  for(var i = 0; i < arr2.length; i++) {
		console.log('会出现死循环,因为里面的循环会每次结束时都是2,再执行外面的++,满足外面的条件,继续循环,导致死循环')
	  }
	}

	var arr3 = [1,2,3,0,4];
	for(var i = 0, ci; ci = arr3[i]; i++) {
	  console.log(i);
	  // i = 3时,会停止循环,因为循环条件ci=arr3[i]是有返回值arr3[i],所以循环遇到arr3的项为false时,就会停止
	}
`

© 著作权归作者所有

宿管小阿姨
粉丝 0
博文 11
码字总数 4193
作品 0
私信 提问
前端JS开发总结

VUE element 饿了吗vue2.0组件 http://element.eleme.io/#/zh-CN/resource vue开发步骤: 1 http://www.jianshu.com/p/5ba253651c3b 2 1)http://www.jianshu.com/p/5ba253651c3b 2)http://......

mircle
2017/05/27
7
0
JavaScript应用技巧集合

前段时间我曾经对JavaScript中的应用技巧进行了收集和总结,形成了以下几篇文章: JavaScript tips and tricks - 1 JavaScript tips and tricks - 2 JavaScript tips and tricks - 3 JavaScr...

solu
2010/12/25
256
0
【译】分享7个好用的JavaScript技巧

就像所有其他编程语言一样,JavaScript也有许多技巧可以完成简单和困难的任务。 一些技巧广为人知,而其他技巧则足以让你大吃一惊。 让我们来看看你今天就可以开始使用的七个JavaScript技巧吧...

米淇淋
05/07
0
0
学习Javascript的8张思维导图

分别归类为:  javascript变量  javascript运算符  javascript数组  javascript流程语句  javascript字符串函数  javascript函数基础  javascript基础DOM操作  javascript正则表达式...

thinkyoung
2014/09/23
0
0
JEPLUS平台JS事件的操作技巧——JEPLUS软件快速开发平台

JEPLUS平台JS事件的操作技巧 JEPLUS平台使用的是EXTJS4,很多时候一些客户不清楚平台JS事件的API怎么调用,以及JS事件API都有哪些,所以今天这个笔记就简单介绍一些JEPLUS平台JS事件的一些操...

JEPLUS
2018/06/27
21
0

没有更多内容

加载失败,请刷新页面

加载更多

elasticsearch查询20公里以内的数据并按距离升序排序data es写法

NativeSearchQueryBuilder queryBuilder = new NativeSearchQueryBuilder();BoolQueryBuilder boolQueryBuilder=new BoolQueryBuilder();//这暂wei加入业务查询条件 queryBuilder.withQue......

为何不可1995
29分钟前
5
0
superset在线pip部署

1、安装依赖sudo yum install gcc libffi-devel python-devel python-pip python-wheel openssl-devel libsasl2-devel openldap-devel报错:没有可用软件包 python-pip。没有可用软件包 ......

阿伦哥-
34分钟前
4
0
photoshop简单使用

PS基本操作与图片格式 photoshop工具 组成 菜单项 工具栏 辅助面板 图片格式 jpg png gif 注: psd photoshop CC链接: https://pan.baidu.com/s/1LVa5R_btSjczLBwskCZidQ 提取码:sc3v 快捷...

studywin
36分钟前
4
0
springboot 整合pageHelper

今天跟大家聊聊springboot整合pageHelp,首先pageHelper是一个缓存式分页,分页步骤如下: 1 pom文件添加依赖 <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelp......

gaofei123
36分钟前
7
0
《DNS攻击防范科普系列1》—你的DNS服务器真的安全么?

DNS服务器,即域名服务器,它作为域名和IP地址之间的桥梁,在互联网访问中,起到至关重要的作用。每一个互联网上的域名,背后都至少有一个对应的DNS。对于一个企业来说,如果你的DNS服务器因...

大涛学弟
37分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部