gpt4 book ai didi

javascript - 仅在 IE 中的 JS 数组推送错误

转载 作者:行者123 更新时间:2023-11-29 21:08:04 25 4
gpt4 key购买 nike

我有以下脚本,它基本上从传递的“数据”数组中提取每个值并返回 json 值。

 function parsejson(data) {
var temp2 = new Array();

if (data) {
$.each(data, function (i, val) {
vproductid = data[i].productid;
vproductname = data[i].product_name;
vexpirydt = data[i].expiry;

temp2.push({vproductid,vproductname,vexpirydt});

});

console.log([temp2]);
return [temp2];
}
}

所以在这种情况下,我的控制台日志中的“数据”返回为:

Array [ Object, Object ]

其中包含以下对象 -> 值等,在某些情况下我的“过期”日期值是空格,但在 Firefox 和 Chrome 中似乎仍能正常工作。

Array Details

在我的情况下,这些问题似乎完全与 IE 11 有关....我一直在 IE 中收到以下错误,这与“推送”以某种方式附加到我的数组有关。我不知道这是语法错误还是我尝试附加到数组的方式,但显然我做错了什么。我的意图只是以 json 格式返回第二个数组,因此可能是一种更简单的方法。

SCRIPT1003: Expected ':'

最佳答案

评论提供了 IE 错误的答案,这里是一个适用于 IE 和 Chrome 的示例代码:

function parsejson(data) {
var temp2 = []; // this syntax might be prefered to create a new array

if (data) {
temp2 = data.map(function(element) {
return {
vproductid: element.productid,
vproductname: element.product_name,
vexpirydt: element.expiry
};
});
}
console.log(temp2);
return temp2;
}

var sampleData = [{
productid: 1,
product_name: 'a',
expiry: 'Today',
someThingelse: '',
}, {
productid: 2,
product_name: 'b',
expiry: 'Today',
someThingelse: '',
}, {
productid: 3,
product_name: 'c',
expiry: 'Today',
someThingelse: '',
}];


parsejson(sampleData);

关于javascript - 仅在 IE 中的 JS 数组推送错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43005654/

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