Javascript 将一个数组设置为另一个数组使其行为类似于对象,我缺少什么?
我已设定: 常数[c,d]=[“h”,“i”] 在浏览器控制台中。它返回undefined 之后,当我键入c时,它返回“h”, 当我输入d时,它返回“I” 在我看来,它就像一个对象,我根据[“h”,“I”]的顺序设置了c和d的值Javascript 将一个数组设置为另一个数组使其行为类似于对象,我缺少什么?,javascript,arrays,object,Javascript,Arrays,Object,我已设定: 常数[c,d]=[“h”,“i”] 在浏览器控制台中。它返回undefined 之后,当我键入c时,它返回“h”, 当我输入d时,它返回“I” 在我看来,它就像一个对象,我根据[“h”,“I”]的顺序设置了c和d的值 在过去的9个月里,我一直在学习Javascript。我不知道我错过了什么?为什么会出现这种情况?如果试图将一个数组设置为与另一个数组相等,则只需: const c = ["h", "i"]; const d = c; 您使用的是destructuring,这是一个很好
在过去的9个月里,我一直在学习Javascript。我不知道我错过了什么?为什么会出现这种情况?如果试图将一个数组设置为与另一个数组相等,则只需:
const c = ["h", "i"];
const d = c;
您使用的是destructuring,这是一个很好的功能,可以直接获得对对象或数组嵌套属性的命名访问:
const car= {
color: 'blue',
power: '120HP',
brand: 'an awesome one'
};
// Object Destructuring
const { colorOfCar, powerOfCar, brandOfCar} = car;
然后,您可以直接使用这些变量名中的每一个。
它或多或少地缩写为:
const colorOfCar = car.color;
const powerOfCar = car.power;
const brandOfCar = car.brand;
希望对你有帮助
更新:
可以通过以下方式对阵列进行分解:
const rgb = [255, 200, 0];
// Array Destructuring
const [red, green, blue] = rgb;
简称:
const red = rgb[0];
const green= rgb[1];
const blue= rgb[2];
您正在使用分解分配。然后变量c=arr[0],d=arr[1] 如果需要复制阵列,请执行以下操作:
const newArr = arr.concat();
此声明
const [c, d ] = ["h", "i"]
是,它不是数组赋值。它读起来不像
“具有元素c和d的数组将被分配h的值
而我“
但它的意思是
“值为h和i的数组被分解为
变量分别称为c和d。”
因此,结果不是数组,也不是对象,而是两个变量。您可以使用babeljs.io检查代码的等效项:
"use strict";
var c = "h",
d = "i";
您正在使用,实际上并没有将一个数组设置为另一个数组。您可以发明所需的所有代码编写,但不要期望它们能够匹配任何语言的语法规则,甚至JavaScription(为什么需要将其输入控制台?)我在学习react钩子,我在“useState”中看到了这一点,在和讲师创建新钩子时也看到了这一点。我被这个“const[state,setstate]=useState(false)”弄糊涂了;这也适用于数组吗?是的!我会更新答案的。嗨,詹姆斯,谢谢你的回答。请告诉我你做了什么以及为什么它会解决这个问题嗨,我只是演示了如何将一个数组设置为与另一个数组相等(而不使其表现为对象)正如你在问题标题中提到的。太好了。请用这个解释编辑你的答案。