js数组对象--数据格式的转换(字符串,对象的取值与赋值)


材料:
提供一份数据:
arr=[
{value:335, name:'直接访问'},
{value:310, name:'邮件营销'},
{value:234, name:'联盟广告'},
{value:135, name:'视频广告'},
{value:1548, name:'搜索引擎'}
];

需求1:需要arr数组中的name的值组成一份这种格式的数据 arr1=["1","2","3","4"]

思路:取到arr数组中的对象中的name的值push进arr1数组中。

解决方案代码:

function a(){//定义一个函数
arr=[
{value:335, name:'直接访问'},
{value:310, name:'邮件营销'},
{value:234, name:'联盟广告'},
{value:135, name:'视频广告'},
{value:1548, name:'搜索引擎'}
];//源数据
arr1=[];//定义一个空数组
for(var i=0;i<arr.length;i++){//循环遍历arr数组
arr1.push(arr[i].name);//取到arr数组中的每条name值push进arr1数据中
}
}
a();//调用函数

需求2:需要一组arr=[
{x:335, y:'直接访问'},
{x:310, y:'邮件营销'},
{x:234, y:'联盟广告'},
{x:135, y:'视频广告'},
{x:1548, y:'搜索引擎'}
];

思路:要将arr中的对象push到arr1数组中就需要将对象的值重新定义push到对象中然后将定义的对象push到arr1数组中。

解决方案代码:

function b(){//定义一个函数
arr=[
{value:335, name:'直接访问'},
{value:310, name:'邮件营销'},
{value:234, name:'联盟广告'},
{value:135, name:'视频广告'},
{value:1548, name:'搜索引擎'}
];//源数据
arr1=[];//定义一个空数组
for(var i=0;i<arr.length;i++){//循环遍历arr数组
var obj={};//定义一个空对象
obj.x=arr[i].name;//将数组中的name取到赋值给对象中的x
obj.y=arr[i].value;//将数组中的value取到赋值给对象中的y
arr1.push(obj);//将对象push进arr1数组中
}
}
b();//调用函数

posted @ 2016-05-25 10:46  程序猿凯  阅读(2090)  评论(0编辑  收藏  举报