结合javascript对象属性值和显示

结合javascript对象属性值和显示,javascript,Javascript,嗨,我在javascript对象中遍历时遇到困难。我如何从两者中获取方案名称和NAV,并将其存储在变量中,如“您有两个方案链接到您的帐户。方案名称1 NAV值为”“方案名称2 NAV值为”“等等。请向我解释它 let data = [{ "CustomerID": 12345, "NAV": "95.24059718", "cost_of_purchase": 799900, "folio_number": 10007060, "id": 1, "mutual_fun

嗨,我在javascript对象中遍历时遇到困难。我如何从两者中获取方案名称和NAV,并将其存储在变量中,如“您有两个方案链接到您的帐户。方案名称1 NAV值为”“方案名称2 NAV值为”“等等。请向我解释它

  let data = [{
  "CustomerID": 12345,
  "NAV": "95.24059718",
  "cost_of_purchase": 799900,
  "folio_number": 10007060,
  "id": 1,
  "mutual_fund_house": "AXIS MUTUAL FUND",
  "no_of_units": 15000,
  "option": "GROWTH",
  "plan": "REGULAR",
  "resource_uri": "/api/v1/folio/1/",
  "scheme_name": "AXIS LONG TERM EQUITY",
  "value_of_units": "1428608.9580"
}, {
  "CustomerID": 12345,
  "NAV": "1053.31517400",
  "cost_of_purchase": 1500000,
  "folio_number": 5540000567,
  "id": 2,
  "mutual_fund_house": "SBI Mutual Fund",
  "no_of_units": 2750,
  "option": "DIVIDEND",
  "plan": "DIRECT",
  "resource_uri": "/api/v1/folio/2/",
  "scheme_name": "SBI Magnum Multicap Fund",
  "value_of_units": "2896616.7270"
}]

您有一个
数据数组
,因此首先需要遍历该数组

选择每个记录要保留的属性,并将它们保存到
results
数组中

一旦你有了结果,你就可以遍历它们并打印出你的个人记录

let data=[{“客户id”:12345,“资产净值”:“95.24059718”,“购买成本”:799900,“对账单编号”:10007060,“id”:1,“共同基金公司”:“安讯士共同基金”,“无单位数”:15000,“期权”:“增长”,“计划”:“常规”,“资源uri”:“/api/v1/folio/1/”,“方案8600名称”:“安讯士长期股权”,“单位价值”:“1428.9580”{“客户id”:12345,“资产净值”:1053.31517400,“购买成本”:1500000,“对开本编号”:5540000567,“id”:2,“共同基金房屋”:“SBI共同基金”,“单位数量”:2750,“期权”:“股息”,“计划”:“直接”,“资源uri”:/api/v1/folio/2/”,“方案名称”:“SBI Magnum Multicap基金”,“单位价值”:“2896616.7270”]
让结果=[]
data.forEach(数据=>{
结果:推({
方案名称:datum.scheme\u名称,
导航:datum.nav,
})
})
log(`您的帐户中有${results.length}项。`)
results.forEach(result=>{
log(`${result.scheme_name}-NAV值为:${result.NAV}`)
})
我为您创建了示例。您需要迭代主对象中的每个对象,并将所有信息存储在外部

data.forEach(function(item) {
  console.log(item.scheme_name);
});

将每个对象(在本例中,您提供了两(2))想象为数组内部的关联数组。这意味着,您可以通过它的键来引用它,而不是通过它的索引位置来引用它

这意味着要访问对象1,您必须写入数据[0]。但如果您发出此警报,这只会告诉您数据[0]是一个对象。它是

要访问该数组中的实际值,您必须提供密钥,您可以通过提供一个数字来实现这一点,或者在您的情况下,可能更容易地提供它的关联密钥,即“scheme_name”

见下文:

let数据=[{
“客户ID”:12345,
“导航”:“95.24059718”,
“采购成本”:799900,
“对开本编号”:10007060,
“id”:1,
“共同基金屋”:“安讯士共同基金”,
“单位数量”:15000,
“选项”:“增长”,
“计划”:“常规”,
“资源uri”:“/api/v1/folio/1/”,
“方案名称”:“安讯士长期股权”,
“单位价值”:“1428608.9580”
}, {
“客户ID”:12345,
“导航”:“1053.31517400”,
“采购成本”:1500000,
“对开本编号”:5540000567,
“id”:2,
“共同基金公司”:“SBI共同基金”,
“单位数量”:2750,
“期权”:“股息”,
“计划”:“直接”,
“资源uri”:“/api/v1/folio/2/”,
“方案名称”:“SBI Magnum Multicap基金”,
“单位价值”:“2896616.7270”
}]
for(设i=0;i}
看起来您试图将该对象映射到另一个对象

首先,尝试阅读和理解数组方法,您可以检查:

对于映射方法,您可以检查:

作为一个具体的回答,您可以:

const mappedData = data.map(function(item) {
    return {
        scheme_name: item.scheme_name,
        NAV: item.NAV
    };
});
这将返回您的简化版本的数组

之后,您可以将其转换为如下字符串:

let solution = `You have ${mappedData.length} schemes linked to your account. `;
mappedData.forEach(function(mapped) {
    solution += mapped.scheme_name + ' is ' + mapped.NAV + ' '
});

注意:我展示了一个map方法,该方法提供了关于您可以做什么的细节,通常您不需要简化,您可以直接用于每个版本。

data.forEach(item=>console.log(`Schema${item.scheme\u name}值为${item.NAV}`)
到目前为止你尝试了什么?你研究并尝试了哪些数组函数?@DontVoteMeDown不要只是回答这样一个问题。除了这个特定实例中的这个特定答案之外,Sumit从你的答案中学到了什么?他需要做一些研究。你的数据对象是一个对象数组。你可以使用forEach()-->来完成你的任务。你的问题也不符合SOF标准。@wlh他能学到什么取决于他。他可以搜索我的建议并学到很多东西,或者像许多开发人员一样复制粘贴到他的代码中。如果他想复制粘贴,不管有没有任何帮助,他都会的,这不是我的错。