Js方法解析

Reduce

var numbers = [65, 44, 12, 4];
 
function getSum(total, num) {
    return total + num;
}
function myFunction(item) {
    document.getElementById("demo").innerHTML = numbers.reduce(getSum);
}

Map

var numbers = [4, 9, 16, 25];function myFunction() {    
  x = document.getElementById("demo")    
  x.innerHTML = numbers.map(Math.sqrt);
}

输出结果为2,3,4,5。

map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。

map() 方法按照原始数组元素顺序依次处理元素。

注意: map() 不会对空数组进行检测。

注意: map() 不会改变原始数组。

  • 实战
const names = selectedUsername.value.map(item => item[1]);

selectedUsername是形如[['role', 'name1'], ['role2', 'name2']]的形式,要获取name,即可采用上面的代码,names为[ 'name1',  'name2']。


解构赋值

对象解构赋值允许你从对象中提取特定属性并赋值给变量。其基本语法如下:

const obj = {
    property1: 'value1',
    property2: 'value2'
};
// 解构赋值
const { property1, property2 } = obj;
console.log(property1); // 输出: value1
console.log(property2); // 输出: value2

在这个例子中,通过 const { property1, property2 } = obj; 从 obj 对象里提取 property1 和 property2 属性,并分别赋值给同名变量。

你也可以给解构出的变量取不同的名字:

const obj = {
    property1: 'value1',
    property2: 'value2'
};
// 解构赋值并给变量取不同名字
const { property1: newName1, property2: newName2 } = obj;
console.log(newName1); // 输出: value1
console.log(newName2); // 输出: value2

另外,还能设置默认值,以防对象中不存在某个属性:

const obj = {
    property1: 'value1'
};
// 解构赋值并设置默认值
const { property1, property2 = 'default' } = obj;
console.log(property1); // 输出: value1
console.log(property2); // 输出: default

数组解构赋值

数组解构赋值则允许你从数组中提取特定位置的值并赋值给变量。其基本语法如下:

const arr = ['a', 'b', 'c'];
// 解构赋值
const [first, second, third] = arr;
console.log(first); // 输出: a
console.log(second); // 输出: b
console.log(third); // 输出: c

在这个例子中,通过 const [first, second, third] = arr; 从 arr 数组里提取第 1、2、3 个元素,并分别赋值给 firstsecondthird 变量。

你还可以跳过某些元素:

const arr = ['a', 'b', 'c'];
// 解构赋值并跳过第二个元素
const [first, , third] = arr;
console.log(first); // 输出: a
console.log(third); // 输出: c

同时,也能使用剩余参数(...)来收集剩余的元素:

const arr = ['a', 'b', 'c', 'd', 'e'];
// 解构赋值并使用剩余参数
const [first, second, ...rest] = arr;
console.log(first); // 输出: a
console.log(second); // 输出: b
console.log(rest); // 输出: ['c', 'd', 'e']

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值