es6常用操作

一、数组操作

1、字符串与数组转换

//作用:逗号分隔的字符串---->数组
strToArray(str){
return str instanceof Array ? str : str.split(',').map(id => parseInt(id));
},
//作用:数组--->逗号分隔的字符串

ArrayToStr(arrays){
return arrays instanceof Array ? arrays.join(',') : arrays;

},

2、数组遍历

例如:[1,2,3,4]
let sets=[1,2,3,4];
this.allconfigOpts.foreach(function(item,idx) {
if(sets.find((element) => (element.value == item.id))){
//说明已经被选择了
selectedSets.push({
label: item.set_name,
key: idx,
index:item.id

});
}else
allSets.push({
label: item.set_name,
key: idx,
index:item.id
});
});
3、数组添加
// ES6 的写法
let arr1 = [0, 1, 2];
let arr2 = [3, 4, 5];
arr1.push(...arr2);
4、复制数组
a2都是a1的克隆
const a1 = [1, 2];
// 写法一
const a2 = [...a1];
5/合并数组
var arr1 = ['a', 'b'];
var arr2 = ['c'];
var arr3 = ['d', 'e'];


// ES6的合并数组
[...arr1, ...arr2, ...arr3]
// [ 'a', 'b', 'c', 'd', 'e' ]
6/Array.from方法用于将两类对象转为真正的数组:类似数组的对象(array-like object)和可遍历(iterable)的对象(包括 ES6 新增的数据结构 Set 和 Map)。
let arrayLike = {
    '0': 'a',
    '1': 'b',
    '2': 'c',
    length: 3
};

// ES6的写法
let arr2 = Array.from(arrayLike); // ['a', 'b', 'c']
7/Array.of方法用于将一组值,转换为数组。
Array.of(3, 11, 8) // [3,11,8]
Array.of(3) // [3]

### ES6常用属性及特性总结 #### 1. 解构赋值 解构赋值是一种用于从数组或对象中提取数据并将其分配给变量的便捷方法。它允许开发者更简洁地操作复杂的数据结构。 ```javascript // 数组解构 let [a, b] = [1, 2]; console.log(a, b); // 输出: 1, 2 // 对象解构 let { name, age } = { name: 'Alice', age: 25 }; console.log(name, age); // 输出: Alice, 25 ``` 这种语法显著简化了代码,尤其是在处理嵌套的对象时[^1]。 --- #### 2. 模板字符串 模板字符串提供了一种更加直观的方式来创建多行字符串以及动态插入变量。通过反引号(` `)包裹字符串,并使用 `${}` 插入表达式即可实现这一功能。 ```javascript let url = "https://example.com"; let eshtml = `<div> <a>${url}</a> </div>`; console.log(eshtml); ``` 相比传统的拼接方式,模板字符串不仅提高了可读性,还减少了错误的发生概率[^1]。 --- #### 3. 合并对象 利用扩展运算符 (`...`) 可以轻松合并多个对象。如果存在同名属性,则后面的属性会覆盖前面的属性。 ```javascript const obj1 = { a: 1 }; const obj2 = { b: 2 }; const obj3 = { a: 5, c: 3 }; let newObj = { ...obj1, ...obj2, ...obj3 }; console.log(newObj); // 输出: { a: 5, b: 2, c: 3 } ``` 这种方式使得对象的操作变得更加灵活和高效[^2]。 --- #### 4. 函数参数默认值 ES6 支持在函数定义时设置参数的默认值,这消除了手动检测未传递参数的需求。 ```javascript function add(a = 0, b = 0) { return a + b; } let x = add(); let y = add(2); let z = add(3, 4); console.log(x, y, z); // 输出: 0, 2, 7 ``` 此特性的引入让函数调用更为简便,同时也增强了代码的健壮性和清晰度。 --- #### 5. 箭头函数 箭头函数提供了更短的函数书写形式,并且不会绑定自己的 `this` 值,而是继承自外层作用域。 ```javascript let multiply = (x, y) => x * y; console.log(multiply(5, 6)); // 输出: 30 ``` 由于其紧凑的形式和明确的作用域行为,箭头函数成为现代 JavaScript 开发中的重要工具之一[^4]。 --- #### 6. Proxy 的优势 相比于 `Object.defineProperty`,`Proxy` 提供了一个更高层次的抽象来拦截和重新定义基本操作的行为。它的主要优点包括但不限于: - 能够代理整个对象而非单个属性; - 更好的性能表现,在 Vue.js 中已逐步取代后者; - 支持监听对象的新属性添加、数组的变化等场景。 然而需要注意的是,`Proxy` 并不支持 IE 浏览器[^3]。 --- #### 7. let 和 const `let` 和 `const` 是两种新的声明变量的方式,它们解决了全局污染和重复声明等问题。其中,`const` 表示常量,一旦初始化就不能再改变指向的内容。 ```javascript const PI = Math.PI; PI = 3; // TypeError: Assignment to constant variable. ``` 此外,这两种关键字均具有块级作用域的特点,避免了因变量提升而导致的潜在问题[^4]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

多则惑少则明

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值