json对象键正在被添加,即使数组有该键
json object key is getting added even if array has the key
我正在循环遍历一个数组,并检查第二个数组是否有该名称的键。若并没有,那个么将这个当前名称作为关键字添加到第二个数组中。我检查了hasOwnProperty
和in
,但在这两种情况下,键都被添加到第二个数组中,尽管已经存在该名称的键。如果密钥已经存在,如何阻止添加?
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);
}
JSFIDDLE
_jsonArray是对象的数组。如果属性已经存在,则必须检查每个对象。
试试这个代码。
var _arraySource = ['Tea', 'Coffe', 'Banana', 'Orange', 'Tea'];
var _jsonArray = [];
for (var i = 0, j = _arraySource.length; i < j; i++) {
var obj = $.map(_jsonArray, function (data) {
if (data.hasOwnProperty(_arraySource[i]))
return data;
});
if (obj.length) {
console.log(_arraySource[i]);
}
else {
var _key = _arraySource[i];
var myObj = {};
myObj[_key] = "";
_jsonArray.push(myObj);
}
}
console.log(_jsonArray);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
希望这对你有帮助。
相关文章:
- 向多维数组添加值和从多维数组请求值
- 如何将JS数组添加到Meteor自动表单条目中
- 在不使用循环的情况下,从一个数据库字符串值向javascript数组添加多个对象
- 将行从数组添加到谷歌图表
- 从不同的数组添加重复的图块 PIXI.js
- 如何在 Javascript 中向数组添加其他对象
- 将javascript数组添加到多维数组中
- Coderbyte数组添加解决方案--For循环与For循环
- Knockout.js向数组添加新项
- Highcharts将变量数组添加到序列中
- 向javascript对象数组添加值
- 我可以用Javascript向数组添加函数吗
- 将数组添加到另一个数组
- 你能给被劫持的JavaScript数组添加一个函数吗
- 我可以向数组添加对象键吗
- 如何向JSON数组添加新属性
- 通过将$resource查询数组添加到AngularJS中另一个数组的底部来进行分页加载
- 使用名称/值从 json 数组添加项
- Javascript数组添加 - 所有组合
- 从 json 文件向 javascript 数组添加值