JavaScript 数组迭代
- ముంది పేజీ JS అరెయ్ సర్వ్
- తరువాతి పేజీ JS అరెయ్ కాంస్ట్
数组迭代方法对每个数组项进行操作。
Array.forEach()
forEach()
方法为每个数组元素调用一次函数(回调函数)。
ఇన్స్టాన్స్
var txt = ""; var numbers = [45, 4, 9, 16, 25]; numbers.forEach(myFunction); function myFunction(value, index, array) { txt = txt + value + "
"; }
ప్రకటన:该函数接受 3 个参数:
- ప్రాజెక్ట్ విలువ
- ప్రాజెక్ట్ సూచిక
- అరెయ్ స్వయం
上面的例子只用了 value 参数。这个例子可以重新写为:
ఇన్స్టాన్స్
var txt = ""; var numbers = [45, 4, 9, 16, 25]; numbers.forEach(myFunction); function myFunction(value) { txt = txt + value + "
"; }
అన్ని బ్రౌజర్లు మద్దతు ఇస్తాయి Array.forEach()
ఇంటర్నెట్ ఎక్స్ప్లోరర్ 8 లేదా అది ముంది వర్గంలో ఉన్న విండోస్ లో తప్ప:
అవును | 9.0 | అవును | అవును | అవును |
Array.map()
map()
方法通过对每个数组元素执行函数来创建新数组。
map()
方法不会对没有值的数组元素执行函数。
map()
方法不会更改原始数组。
这个例子将每个数组值乘以2:
ఇన్స్టాన్స్
var numbers1 = [45, 4, 9, 16, 25]; var numbers2 = numbers1.map(myFunction); function myFunction(value, index, array) { return value * 2; }
请注意,该函数有 3 个参数:
- ప్రాజెక్ట్ విలువ
- ప్రాజెక్ట్ సూచిక
- అరెయ్ స్వయం
当回调函数仅使用 value 参数时,可以省略索引和数组参数:
ఇన్స్టాన్స్
var numbers1 = [45, 4, 9, 16, 25]; var numbers2 = numbers1.map(myFunction); function myFunction(value) { return value * 2; }
అన్ని బ్రౌజర్లు మద్దతు ఇస్తాయి Array.map()
ఇంటర్నెట్ ఎక్స్ప్లోరర్ 8 లేదా అది ముంది వర్గంలో ఉన్న విండోస్ లో తప్ప:
అవును | 9.0 | అవును | అవును | అవును |
Array.filter()
filter()
方法创建一个包含通过测试的数组元素的新数组。
这个例子用值大于 18 的元素创建一个新数组:
ఇన్స్టాన్స్
var numbers = [45, 4, 9, 16, 25]; var over18 = numbers.filter(myFunction); function myFunction(value, index, array) { return value > 18; }
ఈ ఫంక్షన్ 3 పారామీటర్లను అంగీకరిస్తుంది:
- ప్రాజెక్ట్ విలువ
- ప్రాజెక్ట్ సూచిక
- అరెయ్ స్వయం
在上面的例子中,回调函数不使用 index 和 array 参数,因此可以省略它们:
ఇన్స్టాన్స్
var numbers = [45, 4, 9, 16, 25]; var over18 = numbers.filter(myFunction); function myFunction(value) { return value > 18; }
అన్ని బ్రౌజర్లు మద్దతు ఇస్తాయి Array.filter()
ఇంటర్నెట్ ఎక్స్ప్లోరర్ 8 లేదా అది ముంది వర్గంలో ఉన్న విండోస్ లో తప్ప:
అవును | 9.0 | అవును | అవును | అవును |
Array.reduce()
reduce()
方法在每个数组元素上运行函数,以生成(减少它)单个值。
reduce()
方法在数组中从左到右工作。另请参阅 reduceRight()。
reduce()
方法不会减少原始数组。
ఈ ఉదాహరణ సంఖ్యల సమాంతరం నిర్ధారిస్తుంది అనే సంఖ్యల సంఖ్యల సమాంతరం నిర్ధారిస్తుంది:
ఇన్స్టాన్స్
var numbers1 = [45, 4, 9, 16, 25]; var sum = numbers1.reduce(myFunction); function myFunction(total, value, index, array) { return total + value; }
ఈ ఫంక్షన్ 4 పారామిటర్లను అంగీకరిస్తుంది చూడండి:
- మొత్తం (ప్రారంభ విలువ/ముంది ప్రతిస్పందన విలువ)
- ప్రాజెక్ట్ విలువ
- ప్రాజెక్ట్ సూచిక
- అరెయ్ స్వయం
పూర్వ ఉదాహరణలో స్థానం మరియు array పారామీటర్లను వినియోగించలేదు. దానిని మార్చవచ్చు:
ఇన్స్టాన్స్
var numbers1 = [45, 4, 9, 16, 25]; var sum = numbers1.reduce(myFunction); function myFunction(total, value) { return total + value; }
reduce()
方法能够接受一个初始值:
ఇన్స్టాన్స్
var numbers1 = [45, 4, 9, 16, 25]; var sum = numbers1.reduce(myFunction, 100); function myFunction(total, value) { return total + value; }
అన్ని బ్రౌజర్లు మద్దతు ఇస్తాయి Array.reduce()
ఇంటర్నెట్ ఎక్స్ప్లోరర్ 8 లేదా అది ముంది వర్గంలో ఉన్న విండోస్ లో తప్ప:
అవును | 9.0 | అవును | అవును | అవును |
Array.reduceRight()
reduceRight()
方法在每个数组元素上运行函数,以生成(减少它)单个值。
reduceRight()
方法在数组中从右到左工作。另请参阅 reduce()。
reduceRight()
方法不会减少原始数组。
ఈ ఉదాహరణ సంఖ్యల సమాంతరం నిర్ధారిస్తుంది అనే సంఖ్యల సంఖ్యల సమాంతరం నిర్ధారిస్తుంది:
ఇన్స్టాన్స్
var numbers1 = [45, 4, 9, 16, 25]; var sum = numbers1.reduceRight(myFunction); function myFunction(total, value, index, array) { return total + value; }
ఈ ఫంక్షన్ 4 పారామిటర్లను అంగీకరిస్తుంది చూడండి:
- మొత్తం (ప్రారంభ విలువ/ముంది ప్రతిస్పందన విలువ)
- ప్రాజెక్ట్ విలువ
- ప్రాజెక్ట్ సూచిక
- అరెయ్ స్వయం
పూర్వ ఉదాహరణలో స్థానం మరియు array పారామీటర్లను వినియోగించలేదు. దానిని మార్చవచ్చు:
ఇన్స్టాన్స్
var numbers1 = [45, 4, 9, 16, 25]; var sum = numbers1.reduceRight(myFunction); function myFunction(total, value) { return total + value; }
అన్ని బ్రౌజర్లు మద్దతు ఇస్తాయి Array.reduceRight()
ఇంటర్నెట్ ఎక్స్ప్లోరర్ 8 లేదా అది ముంది వర్గంలో ఉన్న విండోస్ లో తప్ప:
అవును | 9.0 | అవును | అవును | అవును |
Array.every()
every()
విధానం అన్ని నమూనాలు పరీక్షను అనుమతిస్తుంది అని పరిశీలిస్తుంది.
ఈ ఉదాహరణలో అన్ని నమూనాలు విలువలు 18 కంటే ఎక్కువగా ఉన్నాయి అని పరిశీలిస్తుంది:
ఇన్స్టాన్స్
var numbers = [45, 4, 9, 16, 25]; var allOver18 = numbers.every(myFunction); function myFunction(value, index, array) { return value > 18; }
ఈ ఫంక్షన్ 3 పారామీటర్లను అంగీకరిస్తుంది:
- ప్రాజెక్ట్ విలువ
- ప్రాజెక్ట్ సూచిక
- అరెయ్ స్వయం
కాల్బ్యాక్ ఫంక్షన్ మాత్రమే మొదటి పారామీటర్ (విలువ) ఉపయోగిస్తే ఇతర పారామీటర్లను సరళీకరించవచ్చు:
ఇన్స్టాన్స్
var numbers = [45, 4, 9, 16, 25]; var allOver18 = numbers.every(myFunction); function myFunction(value) { return value > 18; }
అన్ని బ్రౌజర్లు మద్దతు ఇస్తాయి Array.every()
ఇంటర్నెట్ ఎక్స్ప్లోరర్ 8 లేదా అది ముంది వర్గంలో ఉన్న విండోస్ లో తప్ప:
అవును | 9.0 | అవును | అవును | అవును |
Array.some()
some()
విధానం కొన్ని నమూనాలు పరీక్షను అనుమతిస్తుంది అని పరిశీలిస్తుంది.
ఈ ఉదాహరణలో కొన్ని నమూనాలు విలువలు 18 కంటే ఎక్కువగా ఉన్నాయి అని పరిశీలిస్తుంది:
ఇన్స్టాన్స్
var numbers = [45, 4, 9, 16, 25]; var someOver18 = numbers.some(myFunction); function myFunction(value, index, array) { return value > 18; }
ఈ ఫంక్షన్ 3 పారామీటర్లను అంగీకరిస్తుంది:
- ప్రాజెక్ట్ విలువ
- ప్రాజెక్ట్ సూచిక
- అరెయ్ స్వయం
అన్ని బ్రౌజర్లు మద్దతు ఇస్తాయి Array.some()
ఇంటర్నెట్ ఎక్స్ప్లోరర్ 8 లేదా అది ముంది వర్గంలో ఉన్న విండోస్ లో తప్ప:
అవును | 9.0 | అవును | అవును | అవును |
Array.indexOf()
indexOf()
మాదిరిగా విధానం అంశాలలో మూలము విలువను అన్వేషించి అది స్థానాన్ని తిరిగి ఇస్తుంది.
ప్రకటన:మొదటి అంశం యొక్క స్థానం 0, రెండవ అంశం యొక్క స్థానం 1 మరియు ఇలా కొనసాగుతుంది.
ఇన్స్టాన్స్
నమూనాలు అంశం "Apple" ని అన్వేషించండి:
var fruits = ["Apple", "Orange", "Apple", "Mango"]; var a = fruits.indexOf("Apple");
అన్ని బ్రౌజర్లు మద్దతు ఇస్తాయి Array.indexOf()
ఇంటర్నెట్ ఎక్స్ప్లోరర్ 8 లేదా అది ముంది వర్గంలో ఉన్న విండోస్ లో తప్ప:
అవును | 9.0 | అవును | అవును | అవును |
సంకేతబద్ధం
array.indexOf(అంశం, ప్రారంభం)
అంశం | అవసరమైనది. తనిఖీ చేయవలసిన అంశం. |
ప్రారంభం | ఎంపికాత్మకం. అన్వేషణ ప్రారంభం స్థానం. ప్రత్యక్షంగా నిర్ణయించబడనిది సంఖ్య నిర్ణయించబడితే అంతిమ స్థానం నుండి ప్రారంభించి అన్వేషిస్తుంది. |
అంశం కనబడలేకపోయినప్పుడు,Array.indexOf()
అంశం కనబడలేకపోయినప్పుడు -1 తిరిగి ఇస్తుంది.
అంశం బహుళార్థం ఉన్నప్పుడు మొదటి స్థానాన్ని తిరిగి ఇస్తుంది.
Array.lastIndexOf()
Array.lastIndexOf()
మరియు Array.indexOf()
ఇదే విధంగా కానీ అంశం అంతిమ స్థానం నుండి ప్రారంభించి అన్వేషిస్తుంది.
ఇన్స్టాన్స్
నమూనాలు అంశం "Apple" ని అన్వేషించండి:
var fruits = ["Apple", "Orange", "Apple", "Mango"]; var a = fruits.lastIndexOf("Apple");
అన్ని బ్రౌజర్లు మద్దతు ఇస్తాయి Array.lastIndexOf()
ఇంటర్నెట్ ఎక్స్ప్లోరర్ 8 లేదా అది ముంది వర్గంలో ఉన్న విండోస్ లో తప్ప:
అవును | 9.0 | అవును | అవును | అవును |
సంకేతబద్ధం
array.lastIndexOf(అంశం, ప్రారంభం)
అంశం | అవసరమైనది. తనిఖీ చేయవలసిన అంశం. |
ప్రారంభం | 可选。从哪里开始搜索。负值将从结尾开始的给定位置开始,并搜索到开头。 |
Array.find()
find()
方法返回通过测试函数的第一个数组元素的值。
这个例子查找(返回)大于 18 的第一个元素的值:
ఇన్స్టాన్స్
var numbers = [4, 9, 16, 25, 29]; var first = numbers.find(myFunction); function myFunction(value, index, array) { return value > 18; }
ఈ ఫంక్షన్ 3 పారామీటర్లను అంగీకరిస్తుంది:
- ప్రాజెక్ట్ విలువ
- ప్రాజెక్ట్ సూచిక
- అరెయ్ స్వయం
పాత బ్రౌజర్లు ఈ మార్గాన్ని మద్దతు ఇవ్వలేదు Array.find()
ఈ ప్రకారం ఈ పద్ధతిని పూర్తిగా మద్దతు ఇస్తున్న మొదటి బ్రౌజర్ సంస్కరణలను ఇక్కడ జాబితాభుక్తం చేయబడింది:
45 | 12 | 25 | 8 | 32 |
Array.findIndex()
findIndex()
方法返回通过测试函数的第一个数组元素的索引。
ఈ ఉదాహరణ మీది విలువ పెద్దది అయిన మొదటి ఎలంజంట్ సూచికను కనుగొంటుంది:
ఇన్స్టాన్స్
var numbers = [4, 9, 16, 25, 29]; var first = numbers.findIndex(myFunction); function myFunction(value, index, array) { return value > 18; }
ఈ ఫంక్షన్ 3 పారామీటర్లను అంగీకరిస్తుంది:
- ప్రాజెక్ట్ విలువ
- ప్రాజెక్ట్ సూచిక
- అరెయ్ స్వయం
పాత బ్రౌజర్లు ఈ మార్గాన్ని మద్దతు ఇవ్వలేదు Array.findIndex()
ఈ ప్రకారం ఈ పద్ధతిని పూర్తిగా మద్దతు ఇస్తున్న మొదటి బ్రౌజర్ సంస్కరణలను ఇక్కడ జాబితాభుక్తం చేయబడింది:
45 | 12 | 25 | 8 | 32 |
- ముంది పేజీ JS అరెయ్ సర్వ్
- తరువాతి పేజీ JS అరెయ్ కాంస్ట్