问题描述
我正在尝试将JavaScript对象循环添加到现有的JavaScript对象中。
Dim X As Variant
X = Range("A1:C3").Value2
Dim Y As Variant
n = UBound(X,2)
m = n + 1
Z = UBound(X,1)
ReDim Y(1 To n,1 To m)
'Set All values to zero
For i = 1 To n
For j = 1 To m
Y(i,j) = 0
Next j
Next i
' Set offset diagonal to 1
For i = 1 To n
Y(i,i + 1) = 1
Next i
' Matrix MMult
X = Application.WorksheetFunction.MMult(X,Y)
' Add 1 to the first column
For i = 1 To Z
X(i,1) = 1
Next i
我尝试使用 var object1 = { "key1": true,"header": "Title A","Size": 100};
$.each(elements,function (i,item) {
let headerdisplay = '';
headerdisplay = this.title;
var row = { "key1": true,"header": ""+headerdisplay+"","Size": 100};
Object.assign(object1,row);
});
,但是它只给出最后一个对象。
预期输出数组类似于
object.assign()
解决方法
由于您已经在使用jQuery,为什么不尝试使用$.extend()
功能呢?它应该看起来像这样:
var object1 = { "key1": true,"header": "Title A","Size": 100};
$.each(elements,function (i,item) {
let headerDisplay = '';
headerDisplay = this.title;
var row = { "key1": true,"header": ""+headerDisplay+"","Size": 100};
$.extend(object1,row)
});
请记住,此方法将修改第一个对象1。 如果这不是预期的行为,则可以传递一个空对象作为该函数的第一个参数,然后将结果传递给另一个变量,如下所示:
const newObject = $.extend({},object1,row)
不确定您要做什么,但是也许有更好的选择。尝试将对象集合保存在数组中可能是另一种可行的解决方案。祝你好运!
,请尝试一下...:
var object1 = { "key1": true,"Size": 100};
var res = [object1];
$.each(elements,"Size": 100};
res.push(row);
});
现在您将res
设为finalObj
。