前端对数据的处理(如从A中提取部分数据组成B)----------Important

1:对象转数组:

https://blog.csdn.net/qq_38643776/article/details/81544942

2:如何构建一个对象数组

arry=[];
ngOnInit() {
    this.arry.push({
        name:'大树',
        age:13
    }, {
        name:'小花',
        age:13
    })
    console.log("----------这个数组是",this.arry);
}
效果

3:从A中提取部分数据组成B:

ar=[{
    name:'大树',
    age:13,
    sex:'男'
}, {
    name:'小花',
    age:13,
    sex:'女'
}]
arry=[];
ngOnInit() {
    this.ar.map(data=>{
        this.arry.push({
            name:data.name,
            age:data.age
        })
    })
    console.log("----------这个数组是",this.arry);
}

 

4:把一个字符串分割成字符串数组(即字符串转数组)

str="hello world"
 a
 ngOnInit() {
   this.a=this.str.split(" ")
     console.log("-----------",this.a)
 }

5:数组删除重复元素:

<script type="text/javascript">
    arry=[0,3,2,4,2,6,8,3,2,1];
    list= method4 ();
    function method4 (){
      //将数组进行排序
      arry.sort();
      //定义结果数组
      var arr=[arry[0]];

      for(var i = 1; i < arry.length; i++){    //从数组第二项开始循环遍历数组
         //判断相邻两个元素是否相等,如果相等说明数据重复,否则将元素写入结果数组
         if(arry[i] !== arr[arr.length - 1]){
            arr.push(arry[i]);
         }
      }
      return arr;
   }
</script>

6 A B 组成C

var C= [];
for (var key in A) {   // 对于对象的遍历用 for in key就是A和B数组的下标 所以这里A和B最好是都是对象
                       技巧:一层遍历,就取得啦A和B
var temp = new Object();  // 生成一个新对象 
temp.name=vm.dataObjFields[key].ch;     // 取出A值
temp.value=parseInt(data[key]);    // 取出B的中文名字        
C.push(temp);    将生成的一个一个对象,放到数组里{}{}{}=》[{},{},{}]

或者:直接放到数组里

         
    C.push({
        value:data[key],                  // 取出A值
        name:ctrl.B[key].ch                 // 取出B的中文名字
    })
}

其中A={}

B={{},{},{},{}}

C=[{},{},{}]

 7 数据循环解析

ctrl.vehicleType = [
                        {value: '1', label: '燃油车'},
                        {value: '2', label: '电车'},
                        {value: '3', label: '油电混合电力车'},
                        {value: '4', label: '燃气车'},
                        {value: '5', label: '气电混合电力车'},
                    ];

  ctrl.vehicleType.forEach(function (t) {  })    t是{}

  ctrl.vehicleType.map(function (t) {  })    t是{}

  for ( var key  in ctrl.vehicleType)   key 是下标 0 1 2   想达到和上面的效果,要使用 ctrl.vehicleType[key]

8 对象之间找一样的

var arr1={
    name:{},
    age:{},
    tel:{}
}
var arr2={
    name:{},
    age:{},
}
for(var i in arr1){
    if (arr2.hasOwnProperty(i)){
        console.log("++++++++++",i)
        console.log("++++++++++",arr2[i])
    }
}
<script>
    var arr1=["name","age","tel"]
    var arr2={
        name:{},
        age:{},
    }
    for(var i in arr1){
        key=arr1[i];
        if (arr2.hasOwnProperty( key)){
            console.log("++++++++++",key)
            console.log("++++++++++",arr2[key])
        }
    }
</script>

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值