JavaScript将数组转为对象与JSON对象字符串转数组方法详解
数组转对象
方法一:for循环遍历
可以使用for循环来遍历数组,并将数组的每个元素作为对象的属性赋值。
var arr = ['a', 'b', 'c'];
var obj = {};
for (var i = 0; i < arr.length; i++) {
obj[i] = arr[i];
}
console.log(obj); // {0: "a", 1: "b", 2: "c"}
方法二:使用reduce方法
ES6中的reduce方法可以将一个数组转换为一个对象,并很好地处理空数组的情况。reduce方法可以通过将每个元素添加到先前的结果中来实现这一点。
var arr = ['a', 'b', 'c'];
var obj = arr.reduce(function(result, value, index) {
result[index] = value;
return result;
}, {});
console.log(obj); // {0: "a", 1: "b", 2: "c"}
var empty = [];
var obj2 = empty.reduce(function(result, value, index) {
result[index] = value;
return result;
}, {});
console.log(obj2); // {}
JSON对象字符串转数组
方法一:使用JSON.parse方法
使用JSON.parse方法将JSON字符串转换为对象,进而转换成数组:
var jsonStr = '["a","b","c"]';
var arr = JSON.parse(jsonStr);
console.log(arr); // ["a", "b", "c"]
方法二:使用JSON.parse方法与map方法
ES6中的map方法可以将一个数组中的每个元素转换为另一个形式,我们可以使用map方法将转换后的元素存储到新数组中。
我们可以通过结合使用JSON.parse方法和map方法来将JSON字符串转换为数组:
var jsonStr = '["a","b","c"]';
var arr = JSON.parse(jsonStr).map(function(value) {
return value.toUpperCase();
});
console.log(arr); // ["A", "B", "C"]
示例说明
示例一:数组转对象
假设我们有一个包含不同水果价格的数组,并想将此数组转换为包含水果名称和价格的对象:
var fruits = ['apple', 'banana', 'grape'];
var prices = [1.2, 3.5, 2.1];
var obj = {};
for (var i = 0; i < fruits.length; i++) {
obj[fruits[i]] = prices[i];
}
console.log(obj); // {apple: 1.2, banana: 3.5, grape: 2.1}
示例二:JSON对象字符串转数组
假设我们有一个JSON字符串,其中包含用户的姓名和年龄信息,我们想要将年龄信息转换为一个整数数组:
var jsonStr = '{"name":"John Smith","age":[23, 24, 25]}';
var jsonObj = JSON.parse(jsonStr);
var ages = jsonObj.age;
console.log(ages); // [23, 24, 25]
以上就是JavaScript将数组转为对象与JSON对象字符串转数组方法的详细攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JavaScript将数组转为对象与JSON对象字符串转数组方法详解 - Python技术站