2017-01-12 8 views
-1

EDIT: У меня есть массив в JS, как это: [6.7, 8, 7, 8.6] и я хочу этот массив, чтобы выглядеть как массив объектов с именованными свойствами: [{y: 6.7} , {y: 8}, {y: 7}, {y: 8.6}]. Как это сделать в JSДобавить имена свойств в массив в JS

Заранее благодарим!

+0

Вы не можете. Для этого вам нужно создать объект. –

+0

Возможно, этот пост может вам помочь: http://stackoverflow.com/a/1168814/7152354 – mickaelw

ответ

-1

вы можете использовать карту, чтобы создать массив объектов

[6.7, 8, 7, 8.6].map(function(x) { return {y: x}}) 

Edit - ваш другой вопрос от комментариев этого ответа:

var xCoordinates = [1.1, 2.2] 
var yCoordinates = [3.3, 4.4] 

var result = [] 

function mapper(key, values) { 
    for (var i = 0; i < values.length; i++) { 
    if (result[i] === undefined) { 
     result[i] = {}; 
    } 
    result[i][key] = values[i]; 
    } 
} 

mapper("x", xCoordinates); 
mapper("y", yCoordinates); 

console.log(JSON.stringify(result)); 
+0

да. Я хочу использовать объект – didi

+0

Вы имеете в виду массив объектов? Единственный объект может иметь только одно свойство «y». – bert

+0

есть. Я имею в виду массив объектов – didi

0

Incase вы хотите действительный объект JSON, попробуйте это :

https://jsfiddle.net/6k3wnbs8/1/

var x = [6.7, 8, 7, 8.6]; 
for(var i in x) { 
    x[i] = {}; 
    x[i]["y"] = x[i]; 
} 

console.log(x); 

Если вы хотите, чтобы это было точно так же, как упомянуто в вопросе [y: 6.7 , y: 8, y: 7, y: 8.6], то ниже поможет:

var x = [6.7, 8, 7, 8.6]; 
for(var i in x) { 
    x[i] = "y: " + x[i] 
} 
console.log(x); 
0

Использовать массив # карту. Вот код

var arr = [6.7, 8, 7, 8.6]; 
function changeArr(num) { 
    return 'y: '+num ; 
}; 
var newarr= arr.map(changeArr); 
console.log(newarr);