数组
//map() 方法创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后返回的结果。 返回值:一个新数组,每个元素都是回调函数的结果。 var array1 = [1, 4, 9, 16]; const map1 = array1.map(x => x * 2); console.log(map1); // expected output: Array [2, 8, 18, 32] var numbers = [1, 4, 9]; var doubles = numbers.map(function(num) { return num * 2; }); // doubles数组的值为: [2, 8, 18] // numbers数组未被修改: [1, 4, 9] var kvArray = [{key: 1, value: 10}, {key: 2, value: 20}, {key: 3, value: 30}]; var reformattedArray = kvArray.map(function(obj) { var rObj = {}; rObj[obj.key] = obj.value; return rObj; }); // reformattedArray 数组为: [{1: 10}, {2: 20}, {3: 30}], // kvArray 数组未被修改: // [{key: 1, value: 10}, // {key: 2, value: 20}, // {key: 3, value: 30}]
splice方法
//从一个数组中移除元素,如有必要,在所移除元素的位置上插入新元素,并返回所移除的元素。 arrayObj.splice(start, deleteCount, [item1[, item2[, . . . [,itemN]]]]) var arr = new Array("4", "11", "2", "10", "3", "1"); arr.splice(2, 2, "21", "31"); document.write(arr); // Output: 4,11,21,31,3,1
对象
assign方法
Object.assign(target, ...sources ); //将来自一个或多个源对象中的值复制到一个目标对象。
var first = { name: "Bob" }; var last = { lastName: "Smith" }; var person = Object.assign(first, last); console.log(person); // Output: // { name: "Bob", lastName: "Smith" } //使用 Object.assign 克隆对象 var obj = { person: "Bob Smith"}; var clone = Object.assign({}, obj);