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 个元素,并分别赋值给 first
、second
、third
变量。
你还可以跳过某些元素:
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']