javascript Safari 浏览器中的数组推送错误
javascript array push error in Safari Browser
我遇到了这个错误
SyntaxError: Unexpected token '}'. Expected a ':' following the property name 'value'.
(anonymous function)
执行此操作时:
var datas1 = [];
angular.forEach(data.data, function(value, key) {
if(value.comfi_type_id == "1" || value.comfi_type_id == "3" || value.comfi_type_id == "4")
datas1.push({value})
})
$timeout(function() {
$scope.items = {'data':{'data1':datas1}};
}, 1000);
代码 运行 在 Chrome 上运行良好,但只有 Safari 出现错误。谁能赐教一下,哪里不对?
Question Update
在我这样做之后
datas1.push({value:value})
现在 运行 在 Safari 浏览器中没问题。但是现在当我尝试 ios 设备(这是离子应用程序)时,代码无法运行。 datas1
内没有推送数据
我想当一切都在 Safari 上运行时,在 ios 设备上也能运行?
Safari 可能不支持短对象表示法 ({ value })。您必须指定键和值:
datas1.push({ value: value });
我也有这个问题。这是因为,我正在使用
var newObj = [];
for (var k in dataArray) {
newObj.push(datArr[k]);
}
此 'for-loop' 仅在 Safari 中产生问题,并且它向数组添加了一个函数对象,并且数组长度始终为实际长度 + 1。
我通过用下面的格式替换这个 for 循环来修复,
var newObj = [];
for (var k = 0 ; k < dataArray.length; k++) {
newObj.push(datArr[k]);
}
我遇到了这个错误
SyntaxError: Unexpected token '}'. Expected a ':' following the property name 'value'.
(anonymous function)
执行此操作时:
var datas1 = [];
angular.forEach(data.data, function(value, key) {
if(value.comfi_type_id == "1" || value.comfi_type_id == "3" || value.comfi_type_id == "4")
datas1.push({value})
})
$timeout(function() {
$scope.items = {'data':{'data1':datas1}};
}, 1000);
代码 运行 在 Chrome 上运行良好,但只有 Safari 出现错误。谁能赐教一下,哪里不对?
Question Update
在我这样做之后
datas1.push({value:value})
现在 运行 在 Safari 浏览器中没问题。但是现在当我尝试 ios 设备(这是离子应用程序)时,代码无法运行。 datas1
我想当一切都在 Safari 上运行时,在 ios 设备上也能运行?
Safari 可能不支持短对象表示法 ({ value })。您必须指定键和值:
datas1.push({ value: value });
我也有这个问题。这是因为,我正在使用
var newObj = [];
for (var k in dataArray) {
newObj.push(datArr[k]);
}
此 'for-loop' 仅在 Safari 中产生问题,并且它向数组添加了一个函数对象,并且数组长度始终为实际长度 + 1。
我通过用下面的格式替换这个 for 循环来修复,
var newObj = [];
for (var k = 0 ; k < dataArray.length; k++) {
newObj.push(datArr[k]);
}