Javascript 如何向数组的每个对象添加每2次递增的值?
我被一些数学题困住了。我有一个简单的数组:Javascript 如何向数组的每个对象添加每2次递增的值?,javascript,arrays,Javascript,Arrays,我被一些数学题困住了。我有一个简单的数组: var x = [ { 'index':0, "place": 1, }, { 'index':1, "place": 4, }, { 'index':0, "place": 9, }, { 'index':1, "place": 9, }, {
var x = [
{
'index':0,
"place": 1,
},
{
'index':1,
"place": 4,
},
{
'index':0,
"place": 9,
},
{
'index':1,
"place": 9,
},
{
'index':0,
"place": 9,
},
];
如何循环此数组并向数组中的每个对象添加元素(在本例中称为行
)?最后应该是这样的:
var x = [
{
'index':0,
"place": 1,
"row":"0",
},
{
'index':1,
"place": 4,
"row":"0",
},
{
'index':0,
"place": 9,
"row":"1",
},
{
'index':1,
"place": 9,
"row":"1",
},
{
'index':0,
"place": 9,
"row":"2",
},
{
'index':0,
"place": 9,
"row":"2",
},
];
谢谢你的建议。我需要它在NativeScript中创建动态网格布局。只需将索引除以二:
x.forEach((e, i) => e.row = ~~(i / 2));
PS:这个~
是一个非常难看的数学的缩写。floor
..试试这样:)
调整显示如何添加
索引的答案如何
属性行值后面的业务逻辑是什么?其他需要添加的字段是否会有所不同?你们能提供一些见解吗?谢谢各位@乔纳斯·威尔姆斯——轻松而聪明@珍妮:强调一些不相关的缩写真的有益吗?:)对不起,我认为这会使这篇文章更具可读性-(这不是我唯一改变的事情。
var x = [
{
'index':0,
"place": 1,
},
{
'index':1,
"place": 4,
},
{
'index':0,
"place": 9,
},
{
'index':1,
"place": 9,
},
{
'index':0,
"place": 9,
},
{
'index':0,
"place": 1,
},
{
'index':1,
"place": 4,
},
{
'index':0,
"place": 9,
},
{
'index':1,
"place": 9,
},
{
'index':0,
"place": 9,
},
];
var j = -1
x.forEach(function(e, i) {
if(i % 2 == 0) {
j++
}
e['row'] = j
})
console.log(x)