Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/398.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 在每个错误的值下划线?_Javascript_Json_Underscore.js - Fatal编程技术网

Javascript 在每个错误的值下划线?

Javascript 在每个错误的值下划线?,javascript,json,underscore.js,Javascript,Json,Underscore.js,有人能帮我理解为什么我没有得到预期的输出吗。我有以下代码 var targetArray = []; var tempVar = {}; var json = [ { id:1, available:false, value:'vodka', quantity:1 }, { id:2, available:true, value:'WINE', quantity:13 }, { id:2, available:true, value:'WINE', quantity:13

有人能帮我理解为什么我没有得到预期的输出吗。我有以下代码

var targetArray = [];
var tempVar = {};
var json = [
    { id:1, available:false, value:'vodka', quantity:1 },
    { id:2, available:true, value:'WINE', quantity:13 },
    { id:2, available:true, value:'WINE', quantity:13 },
    { id:3, available:true, value:'gin', quantity:42 },
    { id:4, available:true, value:'scotch', quantity:21 },
    { id:5, available:true, value:'WHISKEY', quantity:123 },
    { id:100, available:true, value:'schnapps', quantity:5 },
    { id:120, available:false, value:'beer', quantity:0 },
    { id:2, available:true, value:'WINE', quantity:13 },
    { id:999, available:true, value:'rum', quantity:55 },
    { id:1, available:false, value:'Vodka', quantity:1 },
    { id:13, available:true, value:'brandy', quantity:3 },
    { id:42, available:true, value:'Tequila', quantity:88 }
];

_.each(json, function(value){
    tempVar.value = value.value;
    tempVar.available = value.available;
    targetArray.push(tempVar);
  });

alert(JSON.stringify(targetArray));
我的输出如下

[{"value":"Tequila","available":true},{"value":"Tequila","available":true},{"value":"Tequila","available":true},{"value":"Tequila","available":true},{"value":"Tequila","available":true},{"value":"Tequila","available":true},{"value":"Tequila","available":true},{"value":"Tequila","available":true},{"value":"Tequila","available":true},{"value":"Tequila","available":true},{"value":"Tequila","available":true},{"value":"Tequila","available":true},{"value":"Tequila","available":true}]
当我尝试此操作时,它会像预期的那样提醒我每个值

_.each(json, function(value){
    alert(JSON.stringify(value.value));
});
我错过什么了吗

这是小提琴


提前感谢。

您正在推同一个对象。 而是每次创建一个新对象,如下所示:

_.each(json, function(value){
    targetArray.push({value: value.value, available: value.available });
});
对于这种情况,您也可以使用
.map
方法:

var json = [
    { id:1, available:false, value:'vodka', quantity:1 },
    { id:2, available:true, value:'WINE', quantity:13 },
    { id:2, available:true, value:'WINE', quantity:13 },
    { id:3, available:true, value:'gin', quantity:42 },
    { id:4, available:true, value:'scotch', quantity:21 },
    { id:5, available:true, value:'WHISKEY', quantity:123 },
    { id:100, available:true, value:'schnapps', quantity:5 },
    { id:120, available:false, value:'beer', quantity:0 },
    { id:2, available:true, value:'WINE', quantity:13 },
    { id:999, available:true, value:'rum', quantity:55 },
    { id:1, available:false, value:'Vodka', quantity:1 },
    { id:13, available:true, value:'brandy', quantity:3 },
    { id:42, available:true, value:'Tequila', quantity:88 }
];

var targetArray = json.map(function (e) {
  return { value: e.value, available: e.available };
});

你推的是同一个物体。 而是每次创建一个新对象,如下所示:

_.each(json, function(value){
    targetArray.push({value: value.value, available: value.available });
});
对于这种情况,您也可以使用
.map
方法:

var json = [
    { id:1, available:false, value:'vodka', quantity:1 },
    { id:2, available:true, value:'WINE', quantity:13 },
    { id:2, available:true, value:'WINE', quantity:13 },
    { id:3, available:true, value:'gin', quantity:42 },
    { id:4, available:true, value:'scotch', quantity:21 },
    { id:5, available:true, value:'WHISKEY', quantity:123 },
    { id:100, available:true, value:'schnapps', quantity:5 },
    { id:120, available:false, value:'beer', quantity:0 },
    { id:2, available:true, value:'WINE', quantity:13 },
    { id:999, available:true, value:'rum', quantity:55 },
    { id:1, available:false, value:'Vodka', quantity:1 },
    { id:13, available:true, value:'brandy', quantity:3 },
    { id:42, available:true, value:'Tequila', quantity:88 }
];

var targetArray = json.map(function (e) {
  return { value: e.value, available: e.available };
});

你推的是同一个物体。 而是每次创建一个新对象,如下所示:

_.each(json, function(value){
    targetArray.push({value: value.value, available: value.available });
});
对于这种情况,您也可以使用
.map
方法:

var json = [
    { id:1, available:false, value:'vodka', quantity:1 },
    { id:2, available:true, value:'WINE', quantity:13 },
    { id:2, available:true, value:'WINE', quantity:13 },
    { id:3, available:true, value:'gin', quantity:42 },
    { id:4, available:true, value:'scotch', quantity:21 },
    { id:5, available:true, value:'WHISKEY', quantity:123 },
    { id:100, available:true, value:'schnapps', quantity:5 },
    { id:120, available:false, value:'beer', quantity:0 },
    { id:2, available:true, value:'WINE', quantity:13 },
    { id:999, available:true, value:'rum', quantity:55 },
    { id:1, available:false, value:'Vodka', quantity:1 },
    { id:13, available:true, value:'brandy', quantity:3 },
    { id:42, available:true, value:'Tequila', quantity:88 }
];

var targetArray = json.map(function (e) {
  return { value: e.value, available: e.available };
});

你推的是同一个物体。 而是每次创建一个新对象,如下所示:

_.each(json, function(value){
    targetArray.push({value: value.value, available: value.available });
});
对于这种情况,您也可以使用
.map
方法:

var json = [
    { id:1, available:false, value:'vodka', quantity:1 },
    { id:2, available:true, value:'WINE', quantity:13 },
    { id:2, available:true, value:'WINE', quantity:13 },
    { id:3, available:true, value:'gin', quantity:42 },
    { id:4, available:true, value:'scotch', quantity:21 },
    { id:5, available:true, value:'WHISKEY', quantity:123 },
    { id:100, available:true, value:'schnapps', quantity:5 },
    { id:120, available:false, value:'beer', quantity:0 },
    { id:2, available:true, value:'WINE', quantity:13 },
    { id:999, available:true, value:'rum', quantity:55 },
    { id:1, available:false, value:'Vodka', quantity:1 },
    { id:13, available:true, value:'brandy', quantity:3 },
    { id:42, available:true, value:'Tequila', quantity:88 }
];

var targetArray = json.map(function (e) {
  return { value: e.value, available: e.available };
});