关键词

JavaScript将数组转为对象与JSON对象字符串转数组方法详解

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对象字符串转数组方法的详细攻略。

本文链接:http://task.lmcjl.com/news/8673.html

展开阅读全文