Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Safari浏览器中的javascript数组推送错误_Javascript_Safari - Fatal编程技术网

Safari浏览器中的javascript数组推送错误

Safari浏览器中的javascript数组推送错误,javascript,safari,Javascript,Safari,我犯了这个错误 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_t

我犯了这个错误

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出现错误。谁能告诉我,怎么了

问题更新

在我这么做之后

datas1.push({value:value})
它现在可以在Safari浏览器中正常运行。但现在,当我在ios设备(这是爱奥尼亚应用程序)上尝试时,代码无法运行。没有数据被推送到内部
datas1


我想当一切都在Safari上运行时,也可以在ios设备上运行?

Safari可能不支持短对象表示法({value})。必须指定键和值:

datas1.push({ value: value });

Safari可能不支持短对象表示法({value})。必须指定键和值:

datas1.push({ value: value });

我也有这个问题。那是因为,我用了

var newObj = [];
for (var k in dataArray) {
    newObj.push(datArr[k]);
}
此“for循环”仅在Safari中创建问题,它还向数组添加了一个函数对象,数组长度始终为实际长度+1

我用下面的格式替换了for循环

var newObj = [];
for (var k = 0 ; k < dataArray.length; k++) {
    newObj.push(datArr[k]);
}
var newObj=[];
for(var k=0;k
我也有这个问题。那是因为,我用了

var newObj = [];
for (var k in dataArray) {
    newObj.push(datArr[k]);
}
此“for循环”仅在Safari中创建问题,它还向数组添加了一个函数对象,数组长度始终为实际长度+1

我用下面的格式替换了for循环

var newObj = [];
for (var k = 0 ; k < dataArray.length; k++) {
    newObj.push(datArr[k]);
}
var newObj=[];
for(var k=0;k
太好了,它现在正在工作。稍后将标记为答案:)@MiG我想补充一点,短对象表示法是ES6的一项功能,因此如果您计划支持多个浏览器,最好避免直接使用它。您好,我已经更新了我的问题。上一个修复程序在Safari上运行良好,但在ios设备上尚未运行。为什么?它应该会起作用。条件满足了吗?可能有一些不同的数据。啊,是的……我确实删除了ios平台,然后在xcode上重新添加、清理和重建。现在一切正常。也许我太惊慌了:P..非常感谢这太好了,它正在工作。稍后将标记为答案:)@MiG我想补充一点,短对象表示法是ES6的一项功能,因此如果您计划支持多个浏览器,最好避免直接使用它。您好,我已经更新了我的问题。上一个修复程序在Safari上运行良好,但在ios设备上尚未运行。为什么?它应该会起作用。条件满足了吗?可能有一些不同的数据。啊,是的……我确实删除了ios平台,然后在xcode上重新添加、清理和重建。现在一切正常。也许我太惊慌了:P.非常感谢