结合javascript对象属性值和显示
嗨,我在javascript对象中遍历时遇到困难。我如何从两者中获取方案名称和NAV,并将其存储在变量中,如“您有两个方案链接到您的帐户。方案名称1 NAV值为”“方案名称2 NAV值为”“等等。请向我解释它结合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
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他能学到什么取决于他。他可以搜索我的建议并学到很多东西,或者像许多开发人员一样复制粘贴到他的代码中。如果他想复制粘贴,不管有没有任何帮助,他都会的,这不是我的错。