1.纯数组与纯数组的合并
concat () 、for+push ()、push.apply ()
var arr1 = [1,2,3]
var arr2 = [4,5,6]
a.concat()
var arr3 = arr1.concat(arr2);
console.log(arr3)
b.for循环+push()追加
for(var i=0;i<arr2.length;i++){
arr1.push(arr2[i])
}
console.log(arr1)
c.apply()
arr1.push.apply(arr1,arr2);
console.log(arr1)
2.纯数组增
push()、unshift () 、splice ()
var arr1 = [1,2,3]
在原数组后面追加
arr1.push(3.1,3.2);
在原数组前面追加
arr1.unshift(-1,0);
在原数组指定位置追加
arr1.splice(2,0,'随意插入');
splice(index,howmuch,element1,.....,elementN)
index:第一个参数是开始执行的索引
howmuch:第二个参数是要删除的元素数量,如果设置为 0,则不会删除任何元素
element:第三个是向数组添加的新元素
3.纯数组删
splice() 、delete
var arr1 = [1,2,3]
arr1.splice(1,1);
delete arr[0];
4.纯数组改
var arr1 = [1,2,3]
arr1[0] = 0
console.log(arr1)
5.纯数组取
var arr1 = [1,2,3]
arr1[0]
6.纯数组 转 字符串
toString()、join()
var arr1 = [1,2,3]
var arr2 = arr1.toString()
var arr2 = arr1.join(',')
7.纯数组 转 对象
for循环并赋值给空对象、{…原始数组}、object.assign({},原始数组)
var arr1 = [1,2,3]
a.建立空对象,for循环数组,给空对象依次赋值等于数组对应的数据
var object1 = {};
for(var i=0; i<arr1.length; i++) {
object1[i] = arr1[i];
}
b.map循环,与上法一致
var object1 = {}
arr1.map((item,index)=>{object1[index] = item})
c. {...原始数组} 扩展运算符
var object1 = {...arr1}
d.object.assign({},原始数组) 对象拷贝法
var object1 = Object.assign({},arr1)
8.纯数组 转 数组对象
【for循环、{…原始数组}、object.assign({},原始数组)】==>追加至数组中
var arr1 = [1,2,3]
a.for循环纯数组,新建数组,新建对象,先将纯属组转换成新对象,再将新对象追加至新数组里面去
var arrObject = [];
for(var i=0; i<arr1.length; i++) {
var object1 = {};
object1[i] = arr1[i];
arrObject.push(object1)
}
b.map循环,与上法一致
var arrObject = [];
arr1.map((item,index)=>{
var object1 = {}
object1[index] = item
arrObject.push(object1)
})
c. {...原始数组} 扩展运算符+追加
var arrObject = [];
var object1 = {...arr1}
arrObject.push(object1)
d.object.assign({},原始数组) 对象拷贝法+追加
var arrObject = [];
var object1 = Object.assign({},arr1)
arrObject.push(object1)
9.纯数组 转 数组对象并自定义设置key
map循环
map循环原数组,建立新对象,循环体内建立命名最新对象,循环体内赋值命名给最新对象,外部全局赋值即可
var arr1 = [1,2,3]
var OldObject = arr1.map((item, index) => {
var newObject = {}
newObject.testKey = item;
return newObject
})
console.log(OldObject)
10.纯对象 与 纯对象的合并
Object.assign 、for in循环
var obj1 = {a:1,b:2,c:3}
var obj2 = {d:4,d:5,e:6}
a. Object.assign ()
var obj3 = Object.assign(obj1,obj2);
b.for in循环对象
for(var i in obj2 ){
obj1[i] =obj2[i];
}
11.纯对象增
var obj1 = {a:1,b:2,c:3}
obj1.d = 4
12.纯对象删
delete
var obj1 = {a:1,b:2,c:3}
delete obj1.c;
13.纯对象改
var obj1 = {a:1,b:2,c:3}
obj1.a = 0;
14.纯对象取
var obj1 = {a:1,b:2,c:3}
var val = obj1.a
var allVal = Object.values(obj1)
var allKey = Object.keys(obj1)
15.纯对象转字符串
JSON.stringify
var obj1 = {a:1,b:2,c:3}
var obj2 = JSON.stringify(obj1)
16.纯对象转数组
push()
var obj1 = {0:1,1:2,2:3}
var obj2 = []
obj2.push(obj1)
console.log(obj2)
17.纯对象转数组对象
for循环+键值赋值+push()
var obj1 = {a: 1, b: 2, c: 3};
var arr = [];
for(var key in obj1){
var item = {};
item[key] = obj1[key];
arr.push(item);
}
console.log(arr);
18.对象转数组对象并自定义设置key
纯对象转换成数组对象方法参考 法17 一致,然后利用 法14 取出所有属性值再利用 法9
Tips:统一修改数组对象的key,就先取到每个属性值用数组的方式存储,再将纯数组转换成数组对象并自定义属性key
19.数组对象合并
map循环+{…}
var obj1 = [
{
name:'小李',
age:'22'
},
{
name:'老李',
age:'24'
}];
var obj2 = [
{
hoby:'trip'
},
{
hoby:'game'
}];
var obj = obj1.map((item,index) => {
return {...item, ...obj2[index]};
});
console.log(obj);
20.数组对象增
var obj1 = [{
name:'小李',
age:'22'
}, {
name:'老李',
age:'24'
}];
var obj = []
obj1.map((item, index) => {
obj.push(Object.assign({},item,{sex: 'men'}))
})
console.log(obj)
21.数组对象删
map+delete
var obj1 = [{
name:'小李',
age:'22'
}, {
name:'老李',
age:'24'
}];
obj1.map(item=>{
delete item.age
})
console.log(obj1)
22.数组对象改
var obj1 = [{
name:'小李',
age:'22'
}, {
name:'老李',
age:'24'
}];
obj1 = JSON.parse(JSON.stringify(obj1).replace(/name/g,"realName"));
console.log(obj1)
23.数组对象取
var obj1 = [{
name:'小李',
age:'22'
}, {
name:'老李',
age:'24'
}];
var arr = obj1.map(obj1 => {return obj1.name})
console.log(arr)
24.数组对象转对象
参考法23取出值,以数组的形式存储,再将该数组参考法7转换成对象
25.数组对象转数组
参考法23取出值,以数组的形式存储