gpt4 book ai didi

javascript - 使用数组中的值创建对象

转载 作者:行者123 更新时间:2023-12-03 05:32:06 25 4
gpt4 key购买 nike

我有一个包含唯一列名称列表的对象:

["heading", "startDate", "finishDate"]

我返回的 XML 数据集与此类似:

<z:row ows_heading='Header' ows_startDate='1/1/2016' ows_finishDate='1/11/2016' ows_Description='Ignore me'/>
<z:row ows_heading='Header' ows_startDate='2/3/2016' ows_finishDate='2/12/2016' ows_Description='Ignore me'/>

如何循环访问唯一的列名称对象以获取列名称,向其附加“ows_”,然后找到结果值并将其添加回对象,以便最终结果类似于:

["heading": "Header", "startDate": "1/1/2016", "finishDate": "1/11/2016"]

编辑:当前代码块:

var a=[];var obj={};
$(r).find("[nodeName=z:row]").each(function()
{
$.each(uniqHeaderVals, function( key, value ) {
var thisVal = $(this).attr("ows_"+value);
obj.value = thisVal;
});

a.push(obj);
});
console.log(a);

最佳答案

建立在 @ScottMarcus 几乎正确的答案之上

var arry = ["heading", "startDate", "finishDate"];

var elems = document.getElementsByTagName("z:row");

var resultArry = [].map.call(elems, function(elem) {
// For each element, create an object
return arry.reduce(function(result, attr) {
result[attr] = elem.getAttribute('ows_' + attr);
return result;
}, {});
});
console.log(resultArry);
<z:row ows_heading='Header' ows_startDate='1/1/2016' ows_finishDate='1/11/2016' ows_Description='Ignore me'/>
<z:row ows_startDate='2/3/2016' ows_finishDate='2/12/2016' ows_Description='Ignore me' ows_heading='Header' />

这段代码的不同之处在于它使用属性名称,而不是位置

关于javascript - 使用数组中的值创建对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40899128/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com