我有等数据
var data = [{"2013-01-21":1,"2013-01-22":7},{"2014-01-21":2,"2014-01-22":8}];
现在我需要输出作为新的
data = [ [1,7],[2,8] ]
我的代码输出[1,2,7,8],我需要作为[[1,2],[7,8]]。
var data = [{
"2013-01-21": 1,
"2013-01-22": 7
}, {
"2014-01-21": 2,
"2014-01-22": 8
}];
//document.write(data.length)
var result = [];
for (var i = 0; i < data.length; ++i) {
var json = data[i];
console.log(json)
for (var prop in json) {
result.push(json[prop]);
console.log(json[prop])
// or myArray.push(json[prop]) or whatever you want
}
}
$('#result').html(JSON.stringify(result));
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="result"></div>
您需要在for
循环中创建一个嵌套数组。
但是有一个内置的函数Object.values()
可以得到你想要的。
var data = [{
"2013-01-21": 1,
"2013-01-22": 7
}, {
"2014-01-21": 2,
"2014-01-22": 8
}];
var results = data.map(obj => Object.values(obj));
console.log(results);
Object.values()
为您提供每个对象中的值。您需要在对象数组上进行迭代,因此:
var data = [{"2013-01-21":1,"2013-01-22":7},{"2014-01-21":2,"2014-01-22":8}];
// data = [ [1,7],[2,8] ]
const extracted = data.map( obj => Object.values(obj))
console.log(extracted)
Object.values()
var data = [{
"2013-01-21": 1,
"2013-01-22": 7
}, {
"2014-01-21": 2,
"2014-01-22": 8
}];
var result = [];
for (var i = 0; i < data.length; i++) {
result.push(Object.values(data[i]));
}
$('#result').html(JSON.stringify(result));
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="result"></div>
From MDN-Object.values()
方法返回给定对象自己的可枚举属性值的数组,其顺序与for。。。循环中。
这正是你所需要的。
var data = [{"2013-01-21":1,"2013-01-22":7},{"2014-01-21":2,"2014-01-22":8}];
const arr = data.map(x => Object.values(x));
console.log(arr);
您可以使用Object.values()
获取值数组解决方案如下:
const data = [{ "2013-01-21": 1, "2013-01-22": 7 }, { "2014-01-21": 2, "2014-01-22": 8 }];
const output = data.map(e => Object.values(e) )
console.log(output)