Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript:将数组转换为对象_Javascript_Arrays_Object - Fatal编程技术网

Javascript:将数组转换为对象

Javascript:将数组转换为对象,javascript,arrays,object,Javascript,Arrays,Object,以下哪种方法最容易转换: [{src:"websrv1"}, {dst:"websrv2"}, {dstport:"80"}] 为此: {src:"websrv1", dst:"websrv2", dstport:"80"} 为了将其传递给AJAX数据 我正在使用,它会返回一组需要转换为对象的方面模型实例。这里有一个简单的解决方案: var output = {}; for (var i = 0; i < input.length; i++) { for (var n in i

以下哪种方法最容易转换:

[{src:"websrv1"}, {dst:"websrv2"}, {dstport:"80"}]
为此:

{src:"websrv1", dst:"websrv2", dstport:"80"}
为了将其传递给AJAX数据


我正在使用,它会返回一组需要转换为对象的方面模型实例。

这里有一个简单的解决方案:

var output = {};
for (var i = 0; i < input.length; i++)
{
    for (var n in input[i])
    {
        output[n] = input[i][n];
    }    
}

以下是一个简单的解决方案:

var output = {};
for (var i = 0; i < input.length; i++)
{
    for (var n in input[i])
    {
        output[n] = input[i][n];
    }    
}

如果您使用的是jquery,请尝试以下操作:

var array = [{src:"websrv1"}, {dst:"websrv2"}, {dstport:"80"}]
var arrayObj = {};

for(var i in array) {
    $.extend(arrayObj, array[i]);
}

如果您使用的是jquery,请尝试以下操作:

var array = [{src:"websrv1"}, {dst:"websrv2"}, {dstport:"80"}]
var arrayObj = {};

for(var i in array) {
    $.extend(arrayObj, array[i]);
}
使用。减少

使用。减少

每次需要执行此类转换时,请考虑array.reduce函数

每次需要执行此类转换时,请考虑array.reduce函数


我的2个字母,非常容易阅读:

var myObj = {};
myArray.forEach(function(obj) {
  var prop = Object.keys(obj)[0];
  myObj[prop] = obj[prop];
})

我的2个字母,非常容易阅读:

var myObj = {};
myArray.forEach(function(obj) {
  var prop = Object.keys(obj)[0];
  myObj[prop] = obj[prop];
})
不要用这个!但只是为了好玩

var a = [{src:"websrv1"}, {dst:"websrv2"}, {dstport:"80"}];
var f = a.reduce((c,d) => Object.assign(c,d), {})
一个小小的缺点是,a是用无限递归对象进行变异的,但是,谁在乎呢?它在一条线上工作

不要用这个!但只是为了好玩

var a = [{src:"websrv1"}, {dst:"websrv2"}, {dstport:"80"}];
var f = a.reduce((c,d) => Object.assign(c,d), {})

一个小小的缺点是,a是用无限递归对象进行变异的,但是,谁在乎呢?它在一条线上工作

括号和应该是花括号{和}?为什么在您想要的对象中有括号?您可以传递数组,$.ajax也接受数组。$.extend.apply{}、[{src:websrv1}、{dst:websrv2}、{dsport:80}为什么人们给出jQuery解决方案?我在这里没有看到任何jQuery,或者我只是缺少了它?括号和应该是大括号{和}?为什么在你想要的对象中有括号?你可以传递数组,$.ajax也接受数组。$.extend.apply{},[{src:websrv1},{dst:websrv2},{dsport:80}为什么人们会给出jQuery解决方案?我在这里没有看到任何jQuery,或者我只是错过了它?我真的无法理解它。虽然visualsearch应该可以工作,但每次搜索只返回最后一个方面模型实例。我真的搞不懂。尽管visualsearch应该可以工作,但每次搜索只返回最后一个方面模型实例。