我是一个普通的javascript人。最近我在人们不是js程序员的领域做了一些javascript。他们使用这些奇怪的词汇。我想知道是否有人能够以面向javascript的方式解释数据结构。 (就像一个js例子)。
我在维基百科上看了他们,但他们使用了所有这些非js的思维/术语,这些都让我失望。
从非js的角度来看,我们有四种基本数据结构:
答案 0 :(得分:1)
一切都是javascript是一个对象,
Array是一种对象,通常称为数组对象。
字符串是一种对象,通常称为字符串。
二叉树是一种对象,称为对象。
堆是一种对象,称为对象。
浏览器界面是一个对象。
使用javascript作为脚本语言的其他API是对象。
https://www.youtube.com/watch?v=MfRkdm_rq5E
二叉树可能不是Javascript的本机对象。这只意味着你需要构建对象。
答案 1 :(得分:1)
Javascript包含可以表示为键值对的对象。
密钥必须并且将被转换为字符串。 这是一个对象
{
name: "Moo", age: 20
}
您可以使用此表示法表示二叉树,但不如C / C ++ / Java版本那么漂亮。
{
node: 20,
left: {
node: 10,
left: null,
right: null
},
right: {
node: 30,
left: null,
right: null
}
}
您可以使用someObject.field
或someObject["field"]
获取字段的值,两者都是等效的!
List和Arrays可以使用javascript Arrays表示,但它们也是一个对象。 观察这一点。
var myArray = [2,3,5];
myArray[0]; // 2
myArray["0"]; // 2
myArray["push"]; // function push()..... etc etc
这是否意味着myArray
也是一个对象?嗯,是。恰好您的浏览器足够聪明,当您console.log
它时,它会显示数据并正确隐藏方法。
答案 2 :(得分:0)
感谢大家的所有输入。
最有用的是@ChiefTwoPencils提供的链接
我了解到有六种类型的数据结构: