Javascript 使用要操纵的对象转换数组

Javascript 使用要操纵的对象转换数组,javascript,arrays,json,Javascript,Arrays,Json,我试图操纵这个数组,并使用parse、push和save数据命令。但出于某种原因,我不喜欢读书。 有什么帮助吗? 我对它非常陌生,只是想练习一下。 应该是一个对象数组 var employeeString = [ { first_name: 'Josh', last_name:'Neil', nationality:'Indian'}, { first_name: 'Brian', last_name:'Cok', nationality:'Canadian'},

我试图操纵这个数组,并使用parse、push和save数据命令。但出于某种原因,我不喜欢读书。 有什么帮助吗? 我对它非常陌生,只是想练习一下。 应该是一个对象数组

    var employeeString = [
    { first_name: 'Josh', last_name:'Neil', nationality:'Indian'},
    { first_name: 'Brian', last_name:'Cok', nationality:'Canadian'},
    { first_name: 'Katja', last_name:'Fanta', nationality:'German'} 
];
    var jsonValues = JSON.stringify(employeeString);
    current_values = JSON.parse(jsonValues);

    var nationality = [];
    //console.log (current_values);

    for ( i = 0; i < current_values.length; i++) {
        var currentItem = current_values[i]
        var first_name = currentItem['first_name'];
        var last_name = currentItem['last_name'];

        //push value into array
        nationality.push(currentItem['nationality']);
        if (currentItem == 'first_name' || currentItem == 'last_name') { 
            return id[i+1]; 
        }
    }

        console.log (first_name , last_name);
var values = JSON.parse("[{'first_name': 'Josh', ...}, ...]");
var employeeString=[
{名字:'Josh',姓:'Neil',国籍:'Indian'},
{姓:'Brian',姓:'Cok',国籍:'Canadian'},
{名字:'Katja',姓氏:'Fanta',国籍:'German'}
];

var jsonValues=JSON.stringify(employeeString); 当前值=JSON.parse(jsonValues); var国籍=[]; //console.log(当前_值); 对于(i=0;i
JSON.parse方法接受一个字符串,但您给它一个对象数组

    var employeeString = [
    { first_name: 'Josh', last_name:'Neil', nationality:'Indian'},
    { first_name: 'Brian', last_name:'Cok', nationality:'Canadian'},
    { first_name: 'Katja', last_name:'Fanta', nationality:'German'} 
];
    var jsonValues = JSON.stringify(employeeString);
    current_values = JSON.parse(jsonValues);

    var nationality = [];
    //console.log (current_values);

    for ( i = 0; i < current_values.length; i++) {
        var currentItem = current_values[i]
        var first_name = currentItem['first_name'];
        var last_name = currentItem['last_name'];

        //push value into array
        nationality.push(currentItem['nationality']);
        if (currentItem == 'first_name' || currentItem == 'last_name') { 
            return id[i+1]; 
        }
    }

        console.log (first_name , last_name);
var values = JSON.parse("[{'first_name': 'Josh', ...}, ...]");
这样会更好


通常,解析会将字符串转换为对象

您不需要
JSON.parse(employeeString)
,因为它已经是一个对象了


用于从其字符串表示形式创建对象,例如,将字符串
'{“prop”:42}'
解析为具有属性
prop
且其值为
42
的实际对象。由于代码中的
employeeString
已经是一个对象,因此不需要再次解析它

顺便说一句,你的意思可能是:

// notice that this is now an actual string
var employeeString = `[
    { first_name: 'Josh', last_name:'Neil', Nationality:'Indian'},
    { first_name: 'Brian', last_name:'Cok', Nationality:'Canadian'},
    { first_name: 'Katja', last_name:'Fanta', Nationality:'German'} 
]`;

employeeString
的数据类型是数组,但是
JSON.parse()
应该解析JSON数据。因此,您可以先将
employeeString
更改为JSON数据,然后再对其进行解析

您不需要解析已经存在的JSON对象。 例如
JSON.parse('[{x:10},{y:20}')
将从字符串返回JSON对象。访问x和y的值需要此步骤,这两个值是字符串形式,您可以在其周围看到
'
。但是在您的例子中,您已经得到了一个JSON对象,您不需要再次解析它。 在console.log中,如果要打印第一个名称,请不要在其周围添加
'
。这是你的工作代码

var当前值=[
{姓:“乔希”,姓:“尼尔”,国籍:“印第安人”},
{名字:'Brian',姓:'Cok',国籍:'Canadian'},
{名字:'Katja',姓氏:'Fanta',国籍:'German'}
];
//当前值=JSON.parse(employeeString);
//console.log(当前_值);
对于(i=0;i}
你不需要解析,因为你已经准备好了一个数组。我已经在做了,看一看。请添加你想要的(最终结果)。我正在尝试按“键”保存所有数据并打印它。仍然不工作还请注意
return
语句之后的所有内容都被忽略。var jsonValues=JSON.stringify(employeeString);当前值=JSON.parse(jsonValues);是吗?@paulo.gomes是的,这是在JavaScript中将非JSON数据转换为JSON数据的一种方法。@paulo.gomes,但您也意识到它没有做一些有用的事情。我的意思是,如果你有一个数组,只需迭代它,不需要使用JSON。但是如果您的原始数据是JSON(实际上是字符串),那么您只需简单地JSON.parse(yourData)并使用它。直到现在,我才知道,但只打印姓氏!如果(currentItem=='first_name'){//return obj[i+1];currentItem包含整个对象
{first_name:'Josh',last_name:'Neil',national:'Indian'}
。您希望满足什么条件。求和键“first_name”上的名称并打印所有名称。其他键的名称相同。抱歉,我没有得到“求和名称”,是否要连接名称?请共享所需的输出。