当前位置:实例文章 » HTML/CSS实例» [文章]字符串方法、数组方法、对象方法、

字符串方法、数组方法、对象方法、

发布人:shili8 发布时间:2024-12-28 22:43 阅读次数:0

**JavaScript 中的基本数据结构**

在 JavaScript 中,基本数据结构包括字符串(String)、数组(Array)和对象(Object)。这些数据结构提供了许多有用的方法来操作它们。

### 字符串方法####1. toUpperCase() 和 toLowerCase()

`toUpperCase()` 方法返回一个使用大写字母的新字符串,而 `toLowerCase()` 方法返回一个使用小写字母的新字符串。

javascriptconst str = "Hello, World!";
console.log(str.toUpperCase()); // HELLO, WORLD!
console.log(str.toLowerCase()); // hello, world!


####2. trim()

`trim()` 方法移除字符串两端的空格。

javascriptconst str = " Hello, World! ";
console.log(str.trim()); // Hello, World!


####3. split() 和 join()

`split()` 方法将一个字符串分割成数组,而 `join()` 方法将一个数组连接成字符串。

javascriptconst str = "apple,berry,cherry";
const fruits = str.split(",");
console.log(fruits); // ["apple", "berry", "cherry"]

const fruitStr = fruits.join(", ");
console.log(fruitStr); // apple, berry, cherry


####4. replace()

`replace()` 方法将一个字符串替换成另一个字符串。

javascriptconst str = "Hello, World!";
console.log(str.replace("World", "JavaScript")); // Hello, JavaScript!


### 数组方法####1. push() 和 pop()

`push()` 方法向数组的末尾添加元素,而 `pop()` 方法从数组的末尾移除元素。

javascriptconst arr = [1,2,3];
console.log(arr.push(4)); //4console.log(arr); // [1,2,3,4]

arr.pop();
console.log(arr); // [1,2,3]


####2. unshift() 和 shift()

`unshift()` 方法向数组的开头添加元素,而 `shift()` 方法从数组的开头移除元素。

javascriptconst arr = [1,2,3];
console.log(arr.unshift(0)); //4console.log(arr); // [0,1,2,3]

arr.shift();
console.log(arr); // [1,2,3]


####3. splice()

`splice()` 方法向数组的指定位置添加或移除元素。

javascriptconst arr = [1,2,3];
console.log(arr.splice(1,0,4)); // []
console.log(arr); // [1,4,2,3]

arr.splice(2,1);
console.log(arr); // [1,4,3]


####4. sort()

`sort()` 方法对数组进行排序。

javascriptconst arr = [3,1,2];
console.log(arr.sort()); // [1,2,3]


### 对象方法####1. hasOwnProperty()

`hasOwnProperty()` 方法检查对象是否具有指定属性。

javascriptconst obj = { name: "John", age:30 };
console.log(obj.hasOwnProperty("name")); // trueconsole.log(obj.hasOwnProperty("city")); // false


####2. getOwnPropertyNames()

`getOwnPropertyNames()` 方法返回一个数组,包含对象自身拥有的所有属性的名称。

javascriptconst obj = { name: "John", age:30 };
console.log(Object.getOwnPropertyNames(obj)); // ["name", "age"]


####3. keys() 和 values()

`keys()` 方法返回一个迭代器,包含对象自身拥有的所有属性的名称,而 `values()` 方法返回一个迭代器,包含对象自身拥有的所有属性的值。

javascriptconst obj = { name: "John", age:30 };
console.log(Object.keys(obj)); // ["name", "age"]
console.log(Object.values(obj)); // ["John",30]


####4. entries()

`entries()` 方法返回一个迭代器,包含对象自身拥有的所有属性的名称和值。

javascriptconst obj = { name: "John", age:30 };
console.log(Object.entries(obj)); // [["name", "John"], ["age",30]]


####5. assign()

`assign()` 方法将一个或多个源对象的属性复制到目标对象中。

javascriptconst target = { a:1, b:2 };
const source = { c:3, d:4 };
Object.assign(target, source);
console.log(target); // {a:1, b:2, c:3, d:4}


####6. freeze() 和 seal()

`freeze()` 方法冻结一个对象,使得不能修改其属性,而 `seal()` 方法使得一个对象不能添加新的属性,但仍然可以修改已有的属性。

javascriptconst obj = { a:1, b:2 };
Object.freeze(obj);
obj.c =3; // TypeError: Cannot add property c to object (#0)

const obj2 = { a:1, b:2 };
Object.seal(obj2);
obj2.c =3; // undefined


####7. preventExtensions()

`preventExtensions()` 方法使得一个对象不能添加新的属性。

javascriptconst obj = { a:1, b:2 };
Object.preventExtensions(obj);
obj.c =3; // TypeError: Cannot add property c to object (#0)


####8. isExtensible() 和 isSealed()

`isExtensible()` 方法检查一个对象是否可以添加新的属性,而 `isSealed()` 方法检查一个对象是否已经被 seal() 方法冻结。

javascriptconst obj = { a:1, b:2 };
console.log(Object.isExtensible(obj)); // trueObject.preventExtensions(obj);
console.log(Object.isExtensible(obj)); // falseObject.seal(obj);
console.log(Object.isSealed(obj)); // true


####9. getOwnPropertyDescriptor()

`getOwnPropertyDescriptor()` 方法返回一个属性描述符,包含对象自身拥有的指定属性的信息。

javascriptconst obj = { a:1, b:2 };
console.log(Object.getOwnPropertyDescriptor(obj, "a")); // {value:1, writable: true, enumerable: true, configurable: true}


####10. defineProperty()

`defineProperty()` 方法定义一个属性描述符,用于指定对象自身拥有的属性的信息。

javascriptconst obj = {};
Object.defineProperty(obj, "a", {
 value:1,
 writable: true,
 enumerable: true,
 configurable: true,
});
console.log(obj.a); //1


####11. deleteProperty()

`deleteProperty()` 方法删除一个对象自身拥有的指定属性。

javascriptconst obj = { a:1, b:2 };
Object.deleteProperty(obj, "a");
console.log(obj); // {b:2}


####12. ownKeys() 和 getOwnPropertyNames()

`ownKeys()` 方法返回一个数组,包含对象自身拥有的所有属性的名称,而 `getOwnPropertyNames()` 方法返回一个数组,包含对象自身拥有的所有属性的名称。

javascriptconst obj = { a:1, b:2 };
console.log(Object.ownKeys(obj)); // ["a", "b"]
console.log(Object.getOwnPropertyNames(obj)); // ["a", "b"]


####13. getOwnPropertySymbols()

`getOwnPropertySymbols()` 方法返回一个数组,包含对象自身拥有的所有属性的符号。

javascriptconst obj = { a:1, b:2 };
console.log(Object.getOwnPropertySymbols(obj)); // []


####14. hasOwn() 和 hasOwnProperty()

`hasOwn()` 方法检查一个对象是否具有指定属性,而 `hasOwnProperty()` 方法检查一个对象是否具有指定属性。

javascriptconst obj = { a:1, b:2 };
console.log(Object.hasOwn(obj, "a")); // trueconsole.log(Object.hasOwnProperty(obj, "b")); // true


####15. isObject()

`isObject()` 方法检查一个值是否是对象。

javascriptconst obj = { a:1, b:2 };
console.log(Object.isObject(obj)); // trueconst str = "hello";
console.log(Object.isObject(str)); // false


####16. isPrimitive()

`isPrimitive()` 方法检查一个值是否是原始类型。

javascriptconst obj = { a:1, b:2 };
console.log(Object.isPrimitive(obj)); // falseconst str = "hello";
console.log(Object.isPrimitive(str)); // true


####17. isRegExp()

`isRegExp()` 方法检查一个值是否是正则表达式。

javascriptconst obj = { a:1, b:2 };
console.log(Object.isRegExp(obj)); // falseconst regExp = /hello/;
console.log(Object.isRegExp(regExp)); // true


####18. isDate()

`isDate()` 方法检查一个值是否是日期。

javascriptconst obj = { a:1, b:2 };
console.log

其他信息

其他资源

Top