Javascript 无法访问SharePoint CAML查询的多维数组元素
我试图创建一个多维数组来访问单个数组元素 数组从一个有三行两列(标题、Url)的列表中提取。如果将cats变量设置为“cats”,那么我将得到一行数据的输出,其中包含列表中的所有元素。按顺序输出并用逗号分隔,例如:标题[0][0]、Url[0][1]、标题[1][0]、Url[1][1]、标题[2][0]、Url[2][1] 如果将cats设置为cats[0][0]和cats[0][1],则可以访问单个元素,但只能访问第一行 但是,当我尝试通过执行cats[1][0]、cats[1][1]、cats[2][0]或cats[2][1]来访问第2行或第3行中的数组项时,数组将显示为空 有人能给我指一下正确的方向吗Javascript 无法访问SharePoint CAML查询的多维数组元素,javascript,arrays,caml,sharepoint-2016,sharepoint-jsom,Javascript,Arrays,Caml,Sharepoint 2016,Sharepoint Jsom,我试图创建一个多维数组来访问单个数组元素 数组从一个有三行两列(标题、Url)的列表中提取。如果将cats变量设置为“cats”,那么我将得到一行数据的输出,其中包含列表中的所有元素。按顺序输出并用逗号分隔,例如:标题[0][0]、Url[0][1]、标题[1][0]、Url[1][1]、标题[2][0]、Url[2][1] 如果将cats设置为cats[0][0]和cats[0][1],则可以访问单个元素,但只能访问第一行 但是,当我尝试通过执行cats[1][0]、cats[1][1]、ca
<script src="/Utilities/jquery.min.js"></script>
<p style="font-size:20px;" width="500px;" id="Ptask"></p>
<script>
SP.SOD.executeOrDelayUntilScriptLoaded(retrivetasklistitems, 'SP.js');
var colltaskListItem;
var listItemArray = [];
var cats = [];
var tasks;
function retrivetasklistitems() {
var clientContext = new SP.ClientContext.get_current();
var oList = clientContext.get_web().get_lists().getByTitle('banner');
var camlQuery = new SP.CamlQuery();
camlQuery.set_viewXml(
'<View><Query><Where><IsNotNull><FieldRef Name="Url"/></IsNotNull></Where></Query></View>'
);
this.colltaskListItem = oList.getItems(camlQuery);
clientContext.load(colltaskListItem);
/* execute the query to get the loaded items */
clientContext.executeQueryAsync(
/* onSuccess Function */
Function.createDelegate(this, this.OnQuerySucceeded),
/* onFail Function */
Function.createDelegate(this, this.onQueryFailed)
);
}
function OnQuerySucceeded(sender, args) {
var count = 0; // for directory list
var listItemEnumerator = colltaskListItem.getEnumerator();
while (listItemEnumerator.moveNext()) {
var oListItem = listItemEnumerator.get_current();
var title = oListItem.get_item('Title');
var url = oListItem.get_item('Url');
var categories = [title, url];
listItemArray[count] = new Array(2);
for (var i = 0; i<listItemArray[count].length; i++) {
if(categories[i] == null || categories[i] == undefined) {
listItemArray[count][i] = " ";
} else {
listItemArray[count][i] = categories[i];
}
}
count++;
var cats = listItemArray
tasks = "<p>" + cats[1][1] + "</p>" + "<br />";
}
$("#Ptask").html(tasks);
}
function OnQueryFailed(sender, args) {
alert('Error: ' + args.get_message() + '\n' + args.get_stackTrace());
}
</script
SP.SOD.executeOrderLayintlScriptLoaded(retrievetasklistitems,'SP.js');
var-tasklistitem;
var listItemArray=[];
var=cats[];
var任务;
函数retrievetasklistitems(){
var clientContext=new SP.clientContext.get_current();
var oList=clientContext.get_web().get_list().getByTitle('banner');
var camlQuery=new SP.camlQuery();
camlQuery.set_viewXml(
''
);
this.colltaskListItem=oList.getItems(camlQuery);
加载(colltaskListItem);
/*执行查询以获取加载的项*/
clientContext.executeQueryAsync(
/*onSuccess函数*/
Function.createDelegate(this,this.onquerySucceed),
/*onFail函数*/
Function.createDelegate(this,this.onQueryFailed)
);
}
函数onquerysucceed(发送方,参数){
var count=0;//用于目录列表
var listItemEnumerator=colltaskListItem.getEnumerator();
while(listItemEnumerator.moveNext()){
var oListItem=listItemEnumerator.get_current();
var title=oListItem.get_项目(“title”);
var url=oListItem.get_项('url');
变量类别=[标题,url];
listItemArray[count]=新数组(2);
对于(var i=0;i