MST

星途 面试题库

面试题:JavaScript对象和数组初始化的复杂场景处理

假设你需要初始化一个二维数组,该数组的行数和列数由用户输入决定,且每个元素的值是其所在行和列的乘积。同时,初始化一个对象,该对象的属性名是从1到10的数字字符串,属性值是对应数字的平方。请编写代码实现。
16.0万 热度难度
编程语言JavaScript

知识考点

AI 面试

面试题答案

一键面试
# 获取用户输入的行数和列数
rows = int(input("请输入行数: "))
cols = int(input("请输入列数: "))

# 初始化二维数组
two_d_array = [[i * j for j in range(cols)] for i in range(rows)]

# 初始化对象
obj = {str(i): i ** 2 for i in range(1, 11)}

print("二维数组:", two_d_array)
print("对象:", obj)
// 获取用户输入的行数和列数
const readline = require('readline');
const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout
});

rl.question('请输入行数: ', (rowsInput) => {
  const rows = parseInt(rowsInput);
  rl.question('请输入列数: ', (colsInput) => {
    const cols = parseInt(colsInput);

    // 初始化二维数组
    const twoDArray = Array.from({ length: rows }, (_, i) =>
      Array.from({ length: cols }, (_, j) => i * j)
    );

    // 初始化对象
    const obj = {};
    for (let i = 1; i <= 10; i++) {
      obj[i.toString()] = i * i;
    }

    console.log("二维数组:", twoDArray);
    console.log("对象:", obj);
    rl.close();
  });
});

以上分别给出了Python和JavaScript实现方式。

  1. Python实现
    • 使用input函数获取用户输入的行数和列数,并将其转换为整数。
    • 使用列表推导式初始化二维数组,其中外层列表推导式遍历行,内层列表推导式遍历列,计算每个元素的值为行和列的乘积。
    • 使用字典推导式初始化对象,属性名是从1到10的数字字符串,属性值是对应数字的平方。
  2. JavaScript实现
    • 使用readline模块获取用户输入的行数和列数。
    • 使用Array.from方法初始化二维数组,外层Array.from创建行,内层Array.from创建列,计算每个元素的值为行和列的乘积。
    • 使用for循环初始化对象,属性名是从1到10的数字字符串,属性值是对应数字的平方。