Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/410.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
Javascript 即使数组中有json对象键,也会添加该键_Javascript_Json - Fatal编程技术网

Javascript 即使数组中有json对象键,也会添加该键

Javascript 即使数组中有json对象键,也会添加该键,javascript,json,Javascript,Json,我在一个数组中循环,并检查第二个数组是否有该名称的键。如果不是,则将此当前名称作为键添加到第二个数组中。我使用hasOwnProperty和中的进行检查,但在这两种情况下,密钥都会添加到第二个数组中,尽管已经存在同名的密钥。如果已经存在密钥,如何阻止添加该密钥 function(){ var _arraySource = ['Tea', 'Coffe', 'Banana', 'Orange', 'Tea']; var _jsonArray = []; for(var i

我在一个数组中循环,并检查第二个数组是否有该名称的键。如果不是,则将此当前名称作为键添加到第二个数组中。我使用
hasOwnProperty
中的
进行检查,但在这两种情况下,密钥都会添加到第二个数组中,尽管已经存在同名的密钥。如果已经存在密钥,如何阻止添加该密钥

function(){
    var _arraySource = ['Tea', 'Coffe', 'Banana', 'Orange', 'Tea'];
    var _jsonArray = [];

    for(var i = 0, j = _arraySource.length; i<j; i++){
        if(_jsonArray.hasOwnProperty(_arraySource[i])){
            //Do nothing
        }
        else{
          var _key =_arraySource[i];
          var myObj = {};

          myObj[_key] = "";
          _jsonArray.push(myObj);
        }
    }

    console.log(_jsonArray);
}
function(){
var_arraySource=[‘茶’、‘咖啡’、‘香蕉’、‘橘子’、‘茶’];
var[u jsonArray=[];

for(var i=0,j=_arraySource.length;i\u jsonArray是对象的数组。如果属性已经存在,则必须检查每个对象

试试这个代码

var\u arraySource=['Tea'、'Coffe'、'Banana'、'Orange'、'Tea';
var[u jsonArray=[];
对于(var i=0,j=_arraySource.length;i

叹气。听起来你需要的是“地图”(或对象)而不是“数组”,但在不知道数据应该如何使用的情况下,我们无法判断。如果是这种情况,那么您之前询问的关于变量键名称的问题可能没有实际意义。也就是说,很可能您首先没有使用正确的数据结构感谢它的工作,顺便说一句,我也在使用web worker,所以我将$.map替换为Array.prototype,map.c全部的