javascript - 映射用户数据数组
问题描述
我对 JS 很陌生,并且在一个问题上停留了一段时间。我的项目是一个卡片生成器,它允许用户进入一个“困境”,随机抽取一张“策略”卡片,然后保存配对。我很难正确显示配对。
let dataStore = []
let dilemma = "";
strategy = "";
function saveData() {
newPair = {dilemma: userText.value, strategy: cardText.innerText};
dataStore.push( newPair )
displayData();
}
function doSmtElse( element ) {
console.log( "element is here : " , element , element.dilemma , element.strategy)
for (let index = 0; index < dataStore.length; index++) {
const element = dataStore[index];
doSmtElse(element )
}
}
function displayData() {
console.log( "dataStore is here : " , dataStore)
for (let index = 0; index < dataStore.length; index++) {
const element = dataStore[index];
doSmtElse(element )
}
}
对于该displayData
函数,我认为我应该使用 map 方法来迭代数组,但到目前为止还没有成功。有小费吗?
发电机的图片。我已经通过控制台登录dataStore
了该saveData
功能,它显示了正确的信息,但我无法让它显示在“保存的信息”框中。这就是我希望该displayData
功能完成的。让我知道我应该提供哪些其他信息,我对这个过程很陌生。
当用户单击“保存策略”时,我在 HTML 中添加了一个 onclick,它应该保存困境/策略配对并将其显示在下面的框中。如果您需要我的所有代码,请告诉我。
解决方案
/* these lines are just for test purposes */
var userText = { value : "test" }
var cardText = { innerText : "test123"}
/* test end ... */
let dataStore = []
let dilemma = "" //new Array();
strategy = "" // new Array();
/*
* @param
* @returns
*/
function saveData() {
newPair = {dilemma: userText.value, strategy: cardText.innerText};
dataStore.push( newPair )
// dataStore = [...dataStore, newPair];
displayData();
}
/*
* @param {element} obj1
* @returns
*/
function doSmtElse( element ) {
console.log( "element is here : " , element , element.dilemma , element.strategy)
return '<p>' + element.dilemma + ":" + element.strategy + '</p>'
}
/*
* @param
* @returns
*/
function displayData() {
console.log( "dataStore is here : " , dataStore)
content = ""
for (let index = 0; index < dataStore.length; index++) {
const element = dataStore[index];
content = content + doSmtElse(element )
}
document.getElementById("body").innerHTML = content
}
/* these lines are just for test purposes */
test = [ 1,2,3 ]
for (let index = 0; index < test.length; index++) {
const element = test[index];
saveData()
}
/* ... */
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body id="body">
</body>
</html>
推荐阅读
- javascript - 无法解决 Angular 6 compiler.js 错误
- sonarqube - SonarQube 的重复密度与文档提供的公式不匹配
- python - 在 Cython 模块中加载与链接
- python - 使用 Statsmodel 自相关函数时的排序数据
- ruby-on-rails - 如何设置搜索查询
- webrtc - STUN 服务器真的有必要吗?
- python - 根据熊猫中每个排序组的第一行创建一列
- javascript - Shopify 从另一个页面上的外部链接加载特定选项卡
- python - scikit-learn 中的目标转换和特征选择
- javascript - React Infinite Scroll 超过了最大更新深度