javascript - 在 JavaScript 中使用对象数组

标签 javascript html css

问题:开发一个包含 1000 个对象的数组(具有如图所示的属性名称和编号)。

  1. 我们需要一个函数来转换每个对象,使名称大写 并且值是原始值的 5 倍并存储到更高 多变的。类似地,另一个函数将每个对象转换为 name是小写的,value是原来的3倍,存储这个 进入 little 变量。
  2. 我们需要一个函数来获取higher中的每个对象并找到所有 little 中均匀划分的对象。示例:30 英寸 更高的物体在中被6均分。
  3. 2 的输出必须是更高 数的数组,并且在每个 object 应该有 got(这是对象内部的一个变量),它将包含每个 little 均匀划分较高的对象。

我的代码:

<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>

<script>
    var n = 1000;
var sample = [];
for (var i = 0; i < n; i++) sample.push({
   name:'John' + i,
   value: i 
});
console.log(sample);

function Converter() {
    var n = 1000;
    var higher = sample;
    for (var i = 0; i < n; i++) higher.name = 'John' + i;
    higher.value = i * 5;
    console.log(higher);
}
    </script>

</body>
</html>

对象数组已创建,并且符合问题的预期/要求,但是,higherconverter 函数不起作用,第三个应该如何问题做完了吗?

最佳答案

一些想法:

1) 只有构造函数应该以大写字母开头,按照惯例函数应该是驼峰式的,所以它应该是 converter

2) 你不调用 converter() 所以它永远不会被执行

3) 确保正确缩进代码 var nvar sample 应该处于相同的深度。

4) 如果您在 iffor 之后省略括号,则只有以下语句进入分支,因此在您的情况下您会这样做:

 for (var i = 0; i < n; i++)
     higher.name = 'John'+i;
 higher.value = i*5;

所以第二行甚至没有在循环中执行,你想要:

for (var i = 0; i < n; i++) {
    higher.name = 'John'+i;
    higher.value = i*5;
}

5) higher.name 没什么意义,因为 higher 是一个数组,你想更改第 i 的名称>higher 数字,你可以用 higher[i].name

6) "John1" 没有大写,您想对其调用 toUpperCase (("John1").toUpperCase())

also how should the 3rd question be done?

我想今天修复你的代码并完成第二个问题就足够了。

您可以继续阅读:

Coding style matters

js array iterations

关于javascript - 在 JavaScript 中使用对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52615973/

相关文章:

javascript - Grunt watch 任务无法转换 ES6 代码

javascript - 如何在 three.js 中隐藏和显示场景中的对象

html - 径向渐变未按预期工作

html - 我的按钮的背景颜色在 IE 中无法使用

javascript - 创建 iframe 嵌入并使用模态

javascript - 如何使用IPP协议(protocol)将带有文本的图像发送到打印机

html - 这个 pics-label 标签是做什么的?

php - 查询问题以获取每天多次重复的每周数据?

当我将更新的代码上传到虚拟主机时,JavaScript 文件不起作用

javascript - JQuery 日期时间选择器布局格式问题