如何动态地在 Jquery 中的字典中的单个键内添加多个值对?
How to add multiple value pairs inside a single key in a dictionary in Jquery dynamically?
我正在尝试为 Sharepoint 列表中的元数据添加一个新项目构建一个字典。我正在尝试动态地执行此操作,而不是对列的名称进行硬编码。
这是应构建的原始项目属性元数据。
itemProperties={"__metadata":{"type":"SP.Data.TestingListItem"},"fldname1":"Value1","fldname1":"Value2","fldname3":"value3"};
这是我目前所拥有的
var itemProperties={"__metadata":{"type":"SP.Data.TestingListItem"}};
I 运行 在这里循环直到 j 比方说 5;
itemProperties=itemProperties+'"'+favorite[j]+'"'+':'+'"'+cells[j]+'"'+','
//favorite has the column name and cells has the values for those columns
我尝试构建一个字符串并添加多个值,但它没有按预期工作。
itemProperties.push("Title":"AMA-424"); or
itemProperties.append("Title":"AMA-424");**
我都试过了,但都无效。我 运行 没主意了。我尝试将整个内容构建为字符串,但创建列表项函数不会采用字符串。
非常感谢任何帮助或指导。
如果您有一个对象,您可以通过添加更多键/值对来添加它。这是这样做的:
var obj = {};
obj['myKey'] = "myValue";
考虑以下示例。
var itemProperties = {
"__metadata": {
"type": "SP.Data.TestingListItem"
},
"fldname1": "Value1",
"fldname1": "Value2",
"fldname3": "value3"
};
var favs = [
"Title",
"Feature",
"Data"
];
var cells = [
"AMA-242",
"One",
"abc"
];
for (var i = 0; i < favs.length; i++) {
itemProperties[favs[i]] = cells[i];
}
console.log(itemProperties);
这是一个普通的 JavaScript 示例。现在,如果您想要一个 jQuery 示例,我建议您使用 $.extend()
.
Description: Merge the contents of two or more objects together into the first object.
查看更多:https://api.jquery.com/jquery.extend/
对于数组,这有点像 .push()
,但对于对象。考虑以下因素。
$(function() {
var itemProperties = {
"__metadata": {
"type": "SP.Data.TestingListItem"
},
"fldname1": "Value1",
"fldname1": "Value2",
"fldname3": "value3"
};
var favs = {
title: "AMA-242",
feature: "One",
data: 123
};
$.extend(itemProperties, favs);
console.log(itemProperties);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
我正在尝试为 Sharepoint 列表中的元数据添加一个新项目构建一个字典。我正在尝试动态地执行此操作,而不是对列的名称进行硬编码。
这是应构建的原始项目属性元数据。
itemProperties={"__metadata":{"type":"SP.Data.TestingListItem"},"fldname1":"Value1","fldname1":"Value2","fldname3":"value3"};
这是我目前所拥有的
var itemProperties={"__metadata":{"type":"SP.Data.TestingListItem"}};
I 运行 在这里循环直到 j 比方说 5;
itemProperties=itemProperties+'"'+favorite[j]+'"'+':'+'"'+cells[j]+'"'+','
//favorite has the column name and cells has the values for those columns
我尝试构建一个字符串并添加多个值,但它没有按预期工作。
itemProperties.push("Title":"AMA-424"); or
itemProperties.append("Title":"AMA-424");**
我都试过了,但都无效。我 运行 没主意了。我尝试将整个内容构建为字符串,但创建列表项函数不会采用字符串。
非常感谢任何帮助或指导。
如果您有一个对象,您可以通过添加更多键/值对来添加它。这是这样做的:
var obj = {};
obj['myKey'] = "myValue";
考虑以下示例。
var itemProperties = {
"__metadata": {
"type": "SP.Data.TestingListItem"
},
"fldname1": "Value1",
"fldname1": "Value2",
"fldname3": "value3"
};
var favs = [
"Title",
"Feature",
"Data"
];
var cells = [
"AMA-242",
"One",
"abc"
];
for (var i = 0; i < favs.length; i++) {
itemProperties[favs[i]] = cells[i];
}
console.log(itemProperties);
这是一个普通的 JavaScript 示例。现在,如果您想要一个 jQuery 示例,我建议您使用 $.extend()
.
Description: Merge the contents of two or more objects together into the first object.
查看更多:https://api.jquery.com/jquery.extend/
对于数组,这有点像 .push()
,但对于对象。考虑以下因素。
$(function() {
var itemProperties = {
"__metadata": {
"type": "SP.Data.TestingListItem"
},
"fldname1": "Value1",
"fldname1": "Value2",
"fldname3": "value3"
};
var favs = {
title: "AMA-242",
feature: "One",
data: 123
};
$.extend(itemProperties, favs);
console.log(itemProperties);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>