Javascript 将对象推入数组

Javascript 将对象推入数组,javascript,arrays,object,Javascript,Arrays,Object,我知道这很简单,但我搞不懂 我有以下代码: var nietos = []; nietos.push(nieto.label); nietos.push(nieto.value); 标签是一些字符串,比如“Title”和值“Ramones”。如果我这样做,我将得到一个简单的数组,如 ["Title", "Ramones"] 我需要创建以下内容: [{"01":"Title", "02": "Ramones"}] 我如何才能将这些数据推送到nietos阵列,以便将它们作为对象推送到?数字01

我知道这很简单,但我搞不懂

我有以下代码:

var nietos = [];
nietos.push(nieto.label);
nietos.push(nieto.value);
标签是一些字符串,比如“Title”和值“Ramones”。如果我这样做,我将得到一个简单的数组,如

["Title", "Ramones"]
我需要创建以下内容:

[{"01":"Title", "02": "Ramones"}]
我如何才能将这些数据推送到nietos阵列,以便将它们作为对象推送到?数字01、02将使用一些i、k变量生成,因为所有这些都在for中。

那么,
[“Title”,“Ramones”]
是一个字符串数组。但是
[{“01:“Title”,“02”,“Ramones”}]
是一个对象数组

如果您愿意将属性或值推送到一个对象中,则需要访问该对象,然后将数据推送到该对象中。 例子:
nietos[indexNumber].yourProperty=yourValue在实际应用中:

尼托斯[0].02=“雷蒙斯”

如果您的对象数组已经为空,请确保它至少有一个对象,或者您要将数据推送到其中的对象

比方说,我们的数组是
myArray[]
,所以这现在是空数组,JS引擎不知道它有什么类型的数据,不是字符串,不是对象,不是数字。所以,我们要将一个对象(可能是空对象)推入该数组
myArray.push({})
,或
myArray.push({“})

这将把一个空对象推入索引号为
0
myArray
中,因此您的确切对象现在是
myArray[0]

然后将
属性
按如下方式推入:

myArray[0].property = value;
//in your case:
myArray[0]["01"] = "value";
var pack = function( arr ) {
    var length = arr.length,
        result = {},
        i;

    for ( i = 0; i < length; i++ ) {
        result[ ( i < 10 ? '0' : '' ) + ( i + 1 ) ] = arr[ i ];
    }

    return result;
};

pack( [ 'one', 'two', 'three' ] ); //{01: "one", 02: "two", 03: "three"}
var nietos = [];
nietos.push({"01": nieto.label, "02": nieto.value});
return nietos;

我不是很确定,但你可以试试这样的:

myArray[0].property = value;
//in your case:
myArray[0]["01"] = "value";
var pack = function( arr ) {
    var length = arr.length,
        result = {},
        i;

    for ( i = 0; i < length; i++ ) {
        result[ ( i < 10 ? '0' : '' ) + ( i + 1 ) ] = arr[ i ];
    }

    return result;
};

pack( [ 'one', 'two', 'three' ] ); //{01: "one", 02: "two", 03: "three"}
var nietos = [];
nietos.push({"01": nieto.label, "02": nieto.value});
return nietos;
var pack=功能(arr){
变量长度=arr.length,
结果={},
我
对于(i=0;i
您必须创建一个对象将值指定给对象。然后将其推入阵列:

var nietos = [];
var obj = {};
obj["01"] = nieto.label;
obj["02"] = nieto.value;
nietos.push(obj);

创建一个对象数组,如下所示:

myArray[0].property = value;
//in your case:
myArray[0]["01"] = "value";
var pack = function( arr ) {
    var length = arr.length,
        result = {},
        i;

    for ( i = 0; i < length; i++ ) {
        result[ ( i < 10 ? '0' : '' ) + ( i + 1 ) ] = arr[ i ];
    }

    return result;
};

pack( [ 'one', 'two', 'three' ] ); //{01: "one", 02: "two", 03: "three"}
var nietos = [];
nietos.push({"01": nieto.label, "02": nieto.value});
return nietos;

首先,在push方法内部创建对象,然后返回新创建的数组。

下面的解决方案更直接。您所要做的就是定义一个简单的函数,该函数可以从两个给定项“创建”对象。然后,只需将此函数应用于两个数组,其中包含要为其创建对象并保存在resultArray中的元素

var arr1 = ['01','02','03'];
var arr2 = ['item-1','item-2','item-3'];
resultArray = [];
    for (var j=0; j<arr1.length; j++) {
        resultArray[j] = new makeArray(arr1[j], arr2[j]);
    }
function makeArray(first,second) {
    this.first = first;
    this.second = second;
}
var arr1=['01','02','03'];
var arr2=['item-1'、'item-2'、'item-3'];
结果射线=[];

对于(var j=0;j将对象添加到数组

class App extends React.Component {
  state = {
  value: ""
  };

items = [
  {
    id: 0,
    title: "first item"
  },
  {
    id: 1,
    title: "second item"
  },
  {
    id: 2,
    title: "third item"
  }
];

handleChange = e => {
  this.setState({
    value: e.target.value
  });
};

handleAddItem = () => {
  if (this.state.value === "") return;
  const item = new Object();
  item.id = this.items.length;
  item.title = this.state.value;
  this.items.push(item);
  this.setState({
    value: ""
  });

  console.log(this.items);
};

render() {
  const items = this.items.map(item => <p>{item.title}</p>);
  return (
    <>
      <label>
        <input
          value={this.state.value}
          type="text"
          onChange={this.handleChange}
        />
        <button onClick={this.handleAddItem}>Add item</button>
      </label>
      <h1>{items}</h1>
    </>
  );
}
}

ReactDOM.render(<App />, document.getElementById("root"));
类应用程序扩展了React.Component{
状态={
值:“”
};
项目=[
{
id:0,
标题:“第一项”
},
{
id:1,
标题:“第二项”
},
{
id:2,
标题:“第三项”
}
];
handleChange=e=>{
这是我的国家({
价值:即目标价值
});
};
handleAddItem=()=>{
如果(this.state.value==“”)返回;
const item=新对象();
item.id=this.items.length;
item.title=this.state.value;
此.items.push(item);
这是我的国家({
值:“”
});
console.log(this.items);
};
render(){
const items=this.items.map(item=>{item.title}

); 返回( 添加项 {items} ); } } render(,document.getElementById(“根”));
让nietos=[];
函数nieto(aData){
设o={};
for(设i=0;idocument.write(jsonString);
也可以这样做

       let data_array = [];
    
       let my_object = {}; 

       my_object.name = "stack";
       my_object.age = 20;
       my_object.hair_color = "red";
       my_object.eye_color = "green";
        
       data_array.push(my_object);
让nietos=[];
函数nieto(aData){
设o={};
for(设i=0;idocument.write(jsonString);
“02”:“Ramones”
我假设?同样,在这种情况下,为什么要使用数组?听起来你想构造一个简单的objectEdited,是的,对不起。我将使用该数组和另一个函数来创建一个XML文件。大历史记录。因此数组将始终只有一个元素?编号的对象?不,将有更多的对象:nietos=[{“01”:“Band”,“02”:“Ramones”},{“01”:“Style”,“02”:“RockPunk”},{“01”:“02”:“03”:“另一个字符串”}]不同长度的对象。我得到了这个错误:解析错误:第59行:解析文件时出现了意外的数字。那一行是:nietos[0]。02=value;try
nietos[0][“02”]=“Ramones”
nietos[0][02]=“Ramones”
No。我得到了这个错误无法设置未定义的属性“0”。代码为:var grands=[];grands[0][2]=value;@pmirnd answer已更新,请检查答案的后半部分:)@JacobPenney,我不认为你的意思是让作者添加一个问题,而是围绕提议的解决方案添加上下文。;(请添加一些解释。为什么你认为你提议的解决方案可能有助于OP。